1
內我有以下蒙戈結構:蒙戈:刪除從數組元素的數組
{
"_id": 123,
"rooms": [
{
"room_code": 456,
"img": [
{
"link": "blah",
"title": "Title"
},
{
"link": "blah2",
"title": "Title2"
}
]
},
{
"room_code": 789,
"img": [
{
"link": "blah",
"title": "Title"
},
{
"link": "blah3",
"title": "Title3"
}
]
}
]
}
現在,我想從「rooms.img」鍵,其中"link":"blah"
除去這些元素。就像這樣:
{
"_id": 123,
"rooms": [
{
"room_code": 456,
"img": [
{
"link": "blah2",
"title": "Title2"
}
]
},
{
"room_code": 789,
"img": [
{
"link": "blah3",
"title": "Title3"
}
]
}
]
}
我嘗試使用,
db.collections.update({"_id":123},{$pull: { 'rooms':{'img': { 'l': 'blah' } }}})
db.collections.update({"_id":123},{$pull: { 'room_info.img': { 'l': 'blah' } }})
但兩者都沒有工作。如何從列表中刪除元素(「img」),它是另一個列表(「房間」)的一部分?請指教。
'$ elemMatch'可能有助於在這裏。 –