2017-03-04 65 views
1

鑑於數據庫中有以下文件,我想更新地址數組的pincode。如何更新嵌入式數組中子文檔的屬性?

我在Mongodb中使用$位置定位器。但是這並沒有找到嵌入多層次的文檔。

"_id": ObjectId("58b91ccf3dc9021191b256ff"), 
"phone": 9899565656, 
"Email": "[email protected]", 
"Organization": "xyz", 
"Name": "sumit", 
"address": [{ 
    "city": "chennai", 
    "pincode": 91, 
    "_id": ObjectId("58b91db48682ab11ede79b28"), 
    "choice": [{ 
     "_id": ObjectId("58b91fa6901a74124fd70d89") 
    }] 
}] 

使用此查詢更新。

db.presenters.update({"Email":"[email protected]","address.city":"chennai"},{$set:{"address.$.pincode.": 95 }}) 
+1

有一個nextra'。' '$ .pincode'之後,這是不需要的。請像這樣嘗試:{「address。$。pincode」:95} –

回答

0

您在更新時似乎有不正確的字段名稱,最後一個額外的點。嘗試以下內容

db.presenters.update({"Email":"[email protected]","address.city":"chennai"}, 
    {$set:{"address.$.pincode": 95 }})