alienworkshop
@alienworkshop

Mongoose: как сохранить несколько документов одним запросом?

Есть такой код, который должен сохранить несколько документов за раз:
app.post('/createTestUsers', (request, response) => {
	let data = [
		{name: 'Mike'},
		{name: 'Tom'}
	];
	User.collection.insert(data, (err, doc) => {
		if(err) {
			console.log('/createTestUsers | POST | Error was occurred');
			console.log(err.errmsg);
			response.status(403).send(err.errmsg);
		}
		if(!err) {
			response.status(200).send(amount + ' users was created');
		}
	});
});


Но в базе появляется только первый документ, а в консоль выводится ошибка:
E11000 duplicate key error collection: contacts_ng2.users index: login_1 dup key: { : null }


Сделал как по примеру stackoverflow.com/a/24848148
но не работает
  • Вопрос задан
  • 533 просмотра
Решения вопроса 1
@antonecma
Nodejs backender
У вас дублирование ключевого поля login_1. Измените каждый объект массива doc, добавив уникальное свойство login_1.

let data = [
{name: 'Mike', login_1: 'mikeLogin' },
{name: 'Tom', login_1: 'tomLogin'}
];

Или не используйте индексирование по login_1.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы