从数组数组中提取元素 MongoDb
Pull element from an array of arrays MongoDb
我正在努力寻找从 Mongo.
中的数组数组中删除元素(带有 _id)的查询格式
在查看文档时,我找不到任何与我所拥有的相似的内容
https://www.mongodb.com/docs/manual/reference/operator/update/pull/#up._S_pull
我知道:MySchema中文档的_id和innerArray中数组元素的_id。
我不知道 outerArray _id
谁能帮我指出哪里错了谢谢!
这是一个数据示例(假设 ObjectId 中的 _id)
{
outerArray:[
{
_id: 1
innerArray: [{_id: 23, name: '123'}, {_id: 13, name: 'asdac'} ]
},
{
_id: 2,
innerArray: [{_id: 16,name:'asf' }, {_id: 18,name:'asf' } ]
},
{
_id: 3,
innerArray: [{_id: 136,name:'asf' }, {_id: 128,name:'asf' } ]
}
]
}
innerIds 是 mongoose.Types.ObjectId
的数组
return MySchema.updateOne(
{
_id: documentId,
},
{ $pull: { outerArray: { innerArray: { _id: { $in: innerIds } } } } },
)
.session(session)
.exec()
db.collection.update({},
{
$pull: {
"outerArray.$[].innerArray": {//$[] does the trick
_id: {
$in: [
16
]
}
}
}
})
我正在努力寻找从 Mongo.
中的数组数组中删除元素(带有 _id)的查询格式在查看文档时,我找不到任何与我所拥有的相似的内容 https://www.mongodb.com/docs/manual/reference/operator/update/pull/#up._S_pull
我知道:MySchema中文档的_id和innerArray中数组元素的_id。
我不知道 outerArray _id
谁能帮我指出哪里错了谢谢!
这是一个数据示例(假设 ObjectId 中的 _id)
{
outerArray:[
{
_id: 1
innerArray: [{_id: 23, name: '123'}, {_id: 13, name: 'asdac'} ]
},
{
_id: 2,
innerArray: [{_id: 16,name:'asf' }, {_id: 18,name:'asf' } ]
},
{
_id: 3,
innerArray: [{_id: 136,name:'asf' }, {_id: 128,name:'asf' } ]
}
]
}
innerIds 是 mongoose.Types.ObjectId
的数组return MySchema.updateOne(
{
_id: documentId,
},
{ $pull: { outerArray: { innerArray: { _id: { $in: innerIds } } } } },
)
.session(session)
.exec()
db.collection.update({},
{
$pull: {
"outerArray.$[].innerArray": {//$[] does the trick
_id: {
$in: [
16
]
}
}
}
})