Mongoose:如何从多个文档中删除特定的数组元素?

Mongoose:如何从多个文档中删除特定的数组元素?,mongoose,Mongoose,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”

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”匹配,并删除ss中q为“q1”的所有数组元素。我尝试了以下命令,但无效。我将非常感谢你的建议。谢谢

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

以下命令实际起作用:

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

似乎$pullAll需要完整对象的数组。它不能是对象中部分属性的数组

以下命令实际起作用:

        update({c:"a1"},{$pull:{ss:{q:"q1"}}}, {multi:true})
似乎$pullAll需要完整对象的数组。它不能是对象中部分属性的数组