数组元素是内嵌文档类型,如何根据内嵌文档的某个键来单个,多个删除数组元素?
插入测试数据
db.country.insert({
"name":"China",
"province":[{"name":"LiaoNing","code":"1001"},{"name":"GuangDong","code":"1002"},{"name":"JiangSu","code":"1003"}]
});
想只删除一个名为"LiaoNing"的省份信息
db.country.update({"name":"China"},{"$pull":{"province":{"name":"LiaoNing"}}});
想一次删除“GuangDong”,“JiangSu”两个省份信息
db.country.update(
{"name":"China"},
{ $pull: { province: { $or: [{"name":"GuangDong"}, {"name":"JiangSu"}] } } },
{ multi: true }
)
以上两个,亲测可行
其他参考地址: