Я использую сервер express.js. Я пытаюсь обновить существующие документы в коллекции MongoDB использование мангуста с массивом объектов (каждый объект имеет _id
свойство и его значение соответствует каждому документу _id
.)Обновление нескольких документов с использованием массива объекта
Один подхода перебрать массив и выполнить findByIdAndUpdate()
for(var i=0; i < expenseListToEdit.length; i++) {
var expense = expenseListToEdit[i];
Expense.findByIdAndUpdate(expense._id, expense, function(err, model) {
if (err) {
console.log('Error occurred while editing expense');
}
console.log('model: ' + util.inspect(model));
});
}
Но таким образом мне придется обрабатывать асинхронный сценарий и вам придется проверять, когда db-запрос для завершения итерации завершен, а затем отправлять ответ обратно клиенту с сервера.
Есть ли альтернативный подход в мангусте для редактирования/изменения массива объекта за один раз, а затем вызова обратного вызова?
Примечание * - Каждый объект массива имеет _id
, который соответствует документу _id
значение.
пожалуйста, попробуйте добавить некоторые пояснения относительно того, как работает этот код и почему, может быть, со ссылками на документацию – dhdavvie