2013-05-08 52 views
0

我正在使用MongoDB version 2.2.2假設我有一個包含以下文檔的用戶集合;MongoDB Conditional Pop

{name:"name1",devices:[{deviceModel:"XR7",deviceVersion:5},{deviceModel:"ZG7",deviceVersion:3}]} 
{name:"name2",devices:[{deviceModel:"XR7",deviceVersion:4},{deviceModel:"GY5",deviceVersion:2}]} 

我想刪除設備元件的元件與"deviceModel" : "XR7"。結果應該是這樣的;

{name:"name1",devices:[{deviceModel:"ZG7",deviceVersion:3}]} 
{name:"name2",devices:[{deviceModel:"GY5",deviceVersion:2}]} 

查詢和選擇一個數組的一個元素可以通過聚集來實現,但我不知道該怎麼做,當它被移除。

回答

1

提供您的收藏命名爲dev,你可以嘗試以下方法:

db.dev.update({},{$pull:{devices:{deviceModel:'XR7'}}},{multi:true})