首页 > 解决方案 > MongoDB 删除第三级嵌入文档

问题描述

我有一个文档,我想使用 $pull 或其他好方法从设备地址列表中仅删除“mobile_id”:“opr_134”的设备。

{
    "user_id": "eamn",
    "address": [{
        "address_id": 32,
        "city_name": "DP 1000"
        "devices": [{
            "mobile_id": "opr_123",
            "created_at": 2132,
            "device": "company"
        },{
            "mobile_id": "opr_134",
            "created_at": 2134,
            "device": "company2"
        }]
    }]
}

请建议一种删除此设备的原子方法。

标签: javapythonmongodbmongodb-querynosql

解决方案


这可以完成这项工作:

 db.triLevel.update({},{$pull:{"address.$[].devices":{"mobile_id":"opr_134"}}})

推荐阅读