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