Проблема с вашим кодом в том, что $ set можно использовать только внутри операторов update
, так как это оператор обновления поля. Таким образом, ваш код может быть изменен на:
db.users.find().forEach( function(myDoc) { db.users.update({_id: myDoc._id}, { $set: { first_name: "testing"} } ) ; } );
Что может быть достигнуто без извлечения всех документов:
db.users.update({}, { $set: { first_name: "testing3"} }, { multi: true } )
или если вы хотите изменить документ внутри forEach
, вы можете использовать метод .save()
в оболочке Mongo, например:
db.users.find().forEach( function(myDoc) { myDoc.first_name = "testing2"; db.users.save(myDoc); } );