0
我在MongoDB的2.6以下結構:如何從陣列中蒙戈深嵌套文檔拉值
db.processes: {
_id: ObjectId("572756344031b585d03dca57"),
activities: [
{
procedures: [
{
implications_ids: [
ObjectId("50871f11d52ef600020128a2"), ObjectId("50871f17d52ef60002012d03")
]
}
]
}
]
}
我想從所有陣列implications_ids
刪除值ObjectId("50871f11d52ef600020128a2")
。我寫的命令:
`db.processes.update({},
{ $pull: { activities: { procedures: { implications_ids: ObjectId("50871f11d52ef600020128a2") } } } },
{ multi: true, safe: true }
)`
命令完成執行,但不更新任何文件:
WriteResult({ "nMatched" : 199, "nUpserted" : 0, "nModified" : 0 })
我在做什麼錯?
有趣的是,當我按照你的建議嘗試使用點符號的更新時,我得到了以下消息:'不能使用該部分(活動({activities:[{_id:ObjectId(),...}] –
過去你的insert語句,我可以檢查 – Koitoer
正確反映我的db結構的insert語句是: db.processes.insert( {活動:[ {程序:[ {implications_ids:[的ObjectId( 「50871f11d52ef600020128a2」),的ObjectId( 「50871f17d52ef60002012d03」)]} ]} ]} ) –