Я пытаюсь обновить поле для каждого документа в коллекции MongoDB.Обновление поля во всех документах MongoDB с Javascript
Я добавил поле из оболочки Mongo, но хочу изменить значение каждого поля на случайное число.
User.find({}, function(err, items){
if (err){
consele.log('err');
consele.log(err);
}
items.forEach(function(item){
var time = (Math.floor(Math.random() * (1474893715201 - 1474800000000) + 1474800000000));
item.update({}, {$set:{"lastLogin": time}}, false, true);
});
});
Если я console.log (элемент) в цикле .forEach, я получаю каждый документ в коллекции, как я ожидал, так что все до, кажется, работает.
Может ли кто-нибудь увидеть, где я ошибаюсь?
Спасибо народу!
Если вы делаете это с Node.js затем ожидать операция обновления должна быть асинхронной, а также иметь в виду, что асинхронные запросы находятся в цикле for, что означает, что некоторые документы могут не обновляться. Скорее используйте массовый API для таких обновлений с помощью Promises или асинхронной библиотеки. – chridam