Node.js 多层嵌套数组中的MongoDB更新操作
我需要帮助更新以下集合Node.js 多层嵌套数组中的MongoDB更新操作,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我需要帮助更新以下集合 { _id: "5983548781331adf45ec5" "name": "Company Name", "workspaces":[ { _id: "7865548781331adf45ec5" "name": "workspace 1", "cards": [ { _id: "786
{
_id: "5983548781331adf45ec5"
"name": "Company Name",
"workspaces":[
{
_id: "7865548781331adf45ec5"
"name": "workspace 1",
"cards": [
{
_id: "7865548781331adf478er",
"name": "card 1",
"panelId"; "1"
},
{
_id: "7865548781331adf4as34",
"name": "card 2",
"panelId"; "1"
},
{
_id: "7865548781331adf43548",
"name": "card 3",
"panelId"; "2"
}
]
}
]
},
{
_id: "we34548781331adf45ec5"
....
}
在上面的集合中,我只想在工作区中添加panelId=1的卡,前提是它的panelId=1的卡少于2张。在上面的文档中,我无法执行该操作,因为它有两个panelId=1的卡。我需要知道如何通过一个查询实现这一点。我用nodejs和mongoose来做这个。当我进行查询时,我已经知道文档id和工作区id。您真的不能。不能使用多个$operators在多个级别的数组中进行匹配。如果这是一种常见的操作,你应该考虑改变你的模式——也许是让文档代表卡片并将工作空间ID反化为它们?