2016-02-17 60 views
2

新手問題:僅在缺失時插入mongo文檔字段

我有一個之前創建的mongo集合。最近插入了一些文件,但結構略有變化 - 只增加了新的字段。現在我想返回並使用默認值更新舊文檔。怎麼樣?

例子:

db.testme.insert({x:0, y:1}) 
db.testme.insert({x:1, y:1}) 
db.testme.insert({x:0, y:1, z:2}) 
db.testme.find() 

如何更新爲零 「Z」 值的前兩個文件?

回答

2

在更新中使用$set運算符,其查詢查找沒有z字段的文檔(使用$exists運算符)。以下更新運算符 演示了這一點:

db.testme.update(
    { "z": { "$exists": false } }, 
    { "$set": { "z": 0 } }, 
    { "multi": true } 
) 
相關問題