Mongodb系列包含以下文件:
{
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" }]
}
我需要将c与值" a1"匹配,并删除s中的所有数组元素,其中q为" q1"。我尝试了以下命令,但它没有用。我将非常感谢您的建议。谢谢!
update({c:"a1"},{$pullAll:{ss:[{q:"q1"}]}}, {multi:true})
答案 0 :(得分:0)
以下命令实际上有效:
update({c:"a1"},{$pull:{ss:{q:"q1"}}}, {multi:true})
似乎$ pullAll需要完整对象的数组。它不能是对象中的部分属性数组。