我嘗試在集合中的所有文件重命名一個字段,用db.collection.update()的所有文件
db.coll.update({},{ $rename: {'originField':'newField'} });
,但只有一個文件被改變了,爲什麼?
我嘗試在集合中的所有文件重命名一個字段,用db.collection.update()的所有文件
db.coll.update({},{ $rename: {'originField':'newField'} });
,但只有一個文件被改變了,爲什麼?
默認情況下,MongoDB中的所有更新都是單數。您必須添加第三個選項,你的命令使:
db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true});
或者,如@totymedli指出的那樣,如果你使用的是3.2及以上,你可以使用updateMany()
:MongoDB: update every document on one field
db.collectionname.update({ "field" : "oldvalue" }, { $set:{ "field" : "newvalue" } }, { multi : true });
如何爲oldvalue +「一些字符串」 – 2017-11-14 11:02:37
默認更新單數,你需要添加',{multi:true}'作爲第三個參數 – Sammaye 2013-03-26 23:58:18
@Sammaye謝謝你的回答 – JuanPablo 2013-03-27 00:07:52
@Sammaye你可以添加評論就像一個答案關閉? – JuanPablo 2013-03-27 00:08:49