java - 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"
}]
}]
}
请建议一种删除此设备的原子方法。
解决方案
这可以完成这项工作:
db.triLevel.update({},{$pull:{"address.$[].devices":{"mobile_id":"opr_134"}}})