2013-03-26 4 views
13

私はコレクションのすべての文書に一つのフィールドの名前を変更してみてください、なぜ?db.collection.update()すべての文書

+0

であるあなたが作るためにあなたのコマンドに第三のオプションを追加する必要があります単数で、第3のパラメータとして '、{multi:true}'を追加する必要があります – Sammaye

+0

@Sammayeありがとうございます。回答は – JuanPablo

+0

@Sammayeです。 – JuanPablo

答えて

32

MongoDBのすべてのアップデートは、デフォルトでは単数型です。あなたがupdateMany()を使用することができ、上記

db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true}); 

をそれとも、@totymedliが指摘したように、あなたが3.2を使用している場合と::デフォルトのアップデートによってMongoDB: update every document on one field

+0

MongoDBのドキュメントhttp ://docs.mongodb.org/manual/applications/update/#update-multiple-documents –

+0

、{multi:true}トリックをしました、ありがとう – Andy

+0

MongoDB 3.2以降、[updateMany'](https:///stackoverflow.com/a/9038593/1494454)。 – totymedli

2
db.collectionname.update({ "field" : "oldvalue" }, { $set:{ "field" : "newvalue" } }, { multi : true }); 
+0

oldvalue + "some string"の処理方法 –

関連する問題