Я пытаюсь обновить несколько документов с помощью мангуста (3.8.37), но ни один документ не обновляется.
Я сделал все, что узнал из других вопросов (см. Ниже):
- Используйте функцию обратного вызова
- Укажите несколько: true
Мое заявление об обновлении:
Animal.where({ type: type}).update({deleted:1}, { multi: true, overwrite: true }, function (err,doc) {
console.log("updates: "+doc);
});
обновления: 0
Когда я просто пересчитаю документы, я получу результат. => Запрос правильный
Animal.where({type: type}).count(function (err,doc) {
console.log("count: "+doc);
});
количество: 299
Когда я опускаю параметр multi:true, обновляется первая запись. => Заявление об обновлении тоже верно
Animal.where({ type: type}).update({deleted:-1}, function (err,doc) {
console.log("updates: "+doc);
});
обновления: 1
Так где ошибка?
Есть несколько вопросов по этой теме. К сожалению, ни один из них не решает мою проблему.
- как обновить несколько документов в mongoose
- Обновление нескольких документов Mongoose ничего не обновляет
- Mongoose: как обновить *всех* людей, совпадающих условие?
** ОБНОВИТЬ
Я добавил обратный вызов журнала и обнаружил, что запрос к mongodb не выполняется, пока указаны параметры (multi:true).
.update({deleted:1},...
на.update({ $set: { deleted:1}},{multi: true}, function...
- person Molda   schedule 23.11.2015