我发现此查询是为了在找到匹配项时从数组中删除 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
}
]
}
]
}
答案 0 :(得分:0)
用
替换你的功能Customer.findOneAndUpdate({agentNumber: agentNumber}, {$pull:{agents : {agentNumber:xxxxx}}},function(err, data){
if(err) {
return res.status(500).json({'error' : 'error'});
}
res.json(data);
});
或者为了更好地理解,您可以参考this问题。