Mongo $拉数组

时间:2016-07-26 04:21:08

标签: node.js mongodb

我发现此查询是为了在找到匹配项时从数组中删除 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
            }
        ]
    }
]
}

1 个答案:

答案 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问题。