Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Mongo:从数组内部的数组中删除元素_List_Mongodb_Mongodb Query - Fatal编程技术网

List Mongo:从数组内部的数组中删除元素

List Mongo:从数组内部的数组中删除元素,list,mongodb,mongodb-query,List,Mongodb,Mongodb Query,我有以下mongo结构: { "_id": 123, "rooms": [ { "room_code": 456, "img": [ { "link": "blah", "title": "Title" }, { "link": "blah2", "title

我有以下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"
            }
        ]
    }
]
}
现在,我想从“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
可能会有帮助。