0
我写了这个查询来删除agentName和agentNumber当发现匹配时从数组中。我不知道为什么它不工作。
db.collection('departments').update({}, {$pull:{"agents" : {'agentNumber':xxxxx}}},function(err,result) {
console.log("Agent Deleted successfully")
console.log(err)
})
这里的DB:
{
"name": "xxx",
"departments": [
{
"departmentName": "Technical",
"agents": [
{
"agentName": "xxx",
"agentNumber": "xxx",
},
{
"agentName": "xxx",
"agentNumber": "xxxxx", // 5 x's
}
]
}
]
}
没有工作。我应该写什么来代替查询。我可以通过查询从控制器 – epskip
获得** agentNumber **,我的意思是如果您有任何条件,比如'{id:req.params.id}'。像这样的东西。如果你没有传递任何查询,那么你的代码将看起来像'db.collection('departments')。findOneAndUpdate({$ pull:{“agents”:{'agentNumber':xxxxx}}},function(err,result) {//你的功能});' –
我可以获得** agentNumber **作为查询。 'db.collection('departments')。update({“agentNumber”:agentNumber},{$ pull:{“agents”:{'agentNumber':xxxxx}}},function(err,result){console.log (“代理已成功删除”) console.log(err) })' – epskip