【发布时间】:2014-07-04 11:35:03
【问题描述】:
我有以下 mongo 结构:
{
"_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"
}
]
}
]
}
现在,我想从 "link":"blah" 的“rooms.img”键中删除这些元素。像这样:
{
"_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可能会有所帮助。
标签: list mongodb mongodb-query