我正在使用MongoDB version 2.2.2
假设我有一个包含以下文档的用户集合;
{name:"name1",devices:[{deviceModel:"XR7",deviceVersion:5},{deviceModel:"ZG7",deviceVersion:3}]}
{name:"name2",devices:[{deviceModel:"XR7",deviceVersion:4},{deviceModel:"GY5",deviceVersion:2}]}
我想用"deviceModel" : "XR7"
删除设备元素元素。结果应该是;
{name:"name1",devices:[{deviceModel:"ZG7",deviceVersion:3}]}
{name:"name2",devices:[{deviceModel:"GY5",deviceVersion:2}]}
查询和选择数组的一个元素可以通过聚合完成,但我不知道如何删除它。
答案 0 :(得分:1)
如果您的收藏集名为dev
,则可以尝试以下操作:
db.dev.update({},{$pull:{devices:{deviceModel:'XR7'}}},{multi:true})