Ключевым моментом здесь является, чтобы получить первые 5 _id
значения соответствия вашего состояния, а затем передавать их с помощью $in
для вашего выбора обновления:
mongoose.model('person').find({ "active": { "$ne": false }}).limit(5)
.exec(function(err,docs) {
var ids = docs.map(function(doc) { return doc._id });
mongoose.model('person').update(
{ "_id": { "$in": ids } },
{ "$set": { "active": false } },
{ "multi": true },
function(err,numAffected) {
}
);
});
Также обратите внимание на правильные аргументы оператора обновления с запросом и блок «обновления». Вы также должны использовать операторы обновления, такие как $set
, иначе вы переписываете существующий контент документа только с содержимым блока «обновления».
Также см. Метод .update()
из основной документации.