2017-02-09 54 views
1

甲MongoDB的集合具有以下文件:Mongoose:如何從多個文檔中刪除特定的數組元素?

{ 
    c:"a1", 
    ss:[{q:"q1",d:"d1" },{q:"q1",d:"d2" }, {q:"q2",d:"d3" }] 
}, 
{ 
    c:"a1", 
    ss:[{q:"q1",d:"d4" },{q:"q1",d:"d5" }, {q:"q2",d:"d6" }] 
}, 
{ 
    c:"a2", 
    ss:[{q:"q1",d:"d4" },{q:"q1",d:"d5" }, {q:"q2",d:"d6" }] 
} 

我需要匹配下用值「A1」,並刪除在SS所有數組元素中,其Q爲「Q1」。我嘗試了下面的命令,但沒有奏效。我將非常感謝您的建議。謝謝!

update({c:"a1"},{$pullAll:{ss:[{q:"q1"}]}}, {multi:true}) 

回答

0

下面的命令實際工作:

 update({c:"a1"},{$pull:{ss:{q:"q1"}}}, {multi:true}) 

似乎$ pullAll需要完整對象的數組。它不能是對象中部分屬性的數組。

相關問題