我正在努力尋找查詢的格式,以從 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()
uj5u.com熱心網友回復:
db.collection.update({},
{
$pull: {
"outerArray.$[].innerArray": {//$[] does the trick
_id: {
$in: [
16
]
}
}
}
})
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/477020.html
