2014-12-19 71 views
0

一个文档:指定删除元素MongoDB中

{"_id":1,"m":[{"id":1,"m":11},{"id":2,"m":22},{"id":3,"m":33}]} 

我想删除 “m.id” == 1并且在单个更新 “m.id” == 2。我可以用$,如:

update({"_id":1},{$pull:{"m":{$in:[{"id":1,"m":11},{"id":2,"m":22}]}}}) 

但是,它需要整个文档,而不是“m.id” $在[1,2]

回答

2

如果你想只指定从该id财产m array objects,可以运行以下查询:

db.test.update({_id: 1}, { 
    $pull: { 
     m: { 
      id: { 
       $in: [1,2] 
      } 
     } 
    } 
});