如何从MongoDB中的数组对象中删除特定对象 [英] how to delete a specific object from array object in MongoDB

查看:79
本文介绍了如何从MongoDB中的数组对象中删除特定对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码如下所示:-

{
  "_id" : ObjectId("52a02251305157fe20ce140f"),
  "cats" : [
          {
                  "catname" : "elect",
                  "disname" : "Elect",
                  "subcats" : [
                          {
                                  "subcatname" : "mobile",
                                  "subdisname" : "Mobiles"
                          },
                          {
                                  "subcatname" : "cam",
                                  "subdisname" : "Cam"
                          }
                  ]
          }
  ]
  } 

我想从子猫中删除手机,我正在尝试如下:-

I Want To Delete mobile from subcats i am trying like below:-

 db.demo.update({"cats.catname":"elect"},{$pull: {"subcats.$.subcatname":"mobile"}},  {"upsert":true})

删除移动代码后如下所示(我期望如下):-

After Delete mobile code look like below(i Expected like below):-

 {
  "_id" : ObjectId("52a02251305157fe20ce140f"),
  "cats" : [
          {
                  "catname" : "elect",
                  "disname" : "Elect",
                  "subcats" : [
                          {
                                  "subcatname" : "cam",
                                  "subdisname" : "Cam"
                          }
                  ]
          }
    ]
    } 

最好的问候GSY

推荐答案

不是

{$pull: {"subcats.$.subcatname":"mobile"}}

但是

{$pull: {"cats.$.subcats":{"subcatname":"mobile"}}

>

db.demo.update({"cats.catname":"elect"},{$pull: {"cats.$.subcats":{"subcatname":"mobile"}}})

这篇关于如何从MongoDB中的数组对象中删除特定对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆