Обновление всех документов в коллекции со случайными номерами

Я пытаюсь обновить все документы в коллекции со случайными числами. Каждая коллекция должна иметь другое число. Мой текущий код:

db.myDoc.update({ rand: {$exists : false }},{$set : {rand:Math.random()}},{multi:true})

заполняет ВСЕ документы с ТАКОЙ случайной величиной. Как исправить?

Ответ 1

Вы можете использовать метод курсора cursor.forEach() в оболочке mongo для достижения этой цели:

db.myDoc.find({rand: {$exists : false }}).forEach(function(mydoc) {
  db.myDoc.update({_id: mydoc._id}, {$set: {rand: Math.random()}})
})