Javascript 在数组中,从该项出现在其中的每个对象的数组中删除该项
我的mongodb文档(表)“组织单元”如下所示:Javascript 在数组中,从该项出现在其中的每个对象的数组中删除该项,javascript,mongodb,express,mongoose,mongodb-query,Javascript,Mongodb,Express,Mongoose,Mongodb Query,我的mongodb文档(表)“组织单元”如下所示: { "_id": ObjectId("0894f016e6e2e073c19e051") "allowedusers": [ "admin", "Fred", "Bob", "Layneh" ], "n
{
"_id": ObjectId("0894f016e6e2e073c19e051")
"allowedusers": [
"admin",
"Fred",
"Bob",
"Layneh"
],
"name": "News management",
"divisions": [
{
"allowedusers": [
"admin",
"Larry",
"Bob",
"Harry",
"Fred"
],
"_id": ObjectId("60894f016e6e2e073c19e052"),
"name": "Finances",
"credentials": [
{
"_id": ObjectId("94f0944f016e6e2e2342cc"),
"name": "FNB - FA",
"userName": "example@email.com",
"password": "examplePassword!@#"
}
]
},
{
"allowedusers": [
"admin",
"Larry",
"Bob",
"Harry",
"Fred"
],
"_id": ObjectId("60894f016e6e2e073c19e052"),
"name": "Development",
"credentials": [
{
"_id": ObjectId("94f0944f016e6e2e2342cc"),
"name": "FNB - DEV",
"userName": "example@email.com",
"password": "examplePassword!@#"
}
]
}
],
"__v": 11
}
这是我在这里的第一篇帖子,你好!好的,所以我已经在这几天了,我只是不能得到这个权利
我想做什么:
在“divisions”数组中,我想从每个对象“division”中出现的“allowedusers”数组中删除“Fred”
我尝试过的
我还是个新手,大约一周了。
我尝试过很多次,但最接近的是:
Org\u unit.updateMany({name:“新闻管理”},{$pull:{'divisions':{'allowedusers':“Fred”},{multi:true})
^^如果他出现在其“allowedusers”数组中,则会删除整个部门
我们非常感谢您的指导
先谢谢你
PS:(由于这是我发布的第一个问题,请告诉我今后如何改进我的问题!)演示-
使用
all positional运算符$[]
表示更新运算符应修改指定数组字段中的所有元素
非常感谢你!看来我需要在$上做更多的文档挖掘。
db.collection.update({
name: "News management"
},
{
$pull: {
"divisions.$[].allowedusers": "Fred"
}
})