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'可能有助于在这里。 –