如何在mongodb的数组中,根据指定字段查找到对应的对象,并在该对象下添加字段?

本人初次使用mongodb,现在有一个需求,一条文档中有数组,怎么根据数组里边的记录的某个字段找到这条记录,然后在这条记录里添加字段呢?文字描述可能有点拗口,我们看图
图片描述

如图所示,我想通过url查询到红色圈出的那个{}对应的内容,然后在这里边插入一个新的字段,插入后类似这样子的结构:

   { "_id" : ObjectId("582f19467ccafdce1cb124d1"),
    "categories" : [
            {
                    "title" : "移动电源",
                    "url" : "https://list.jd.com/list.html?cat=9987,830,13658",
                    "newFiled":"newValue"
            }
      ]
   }
        

请教高手们,这个应该怎么实现呢?

阅读 5.3k
2 个回答

我直接上mongo命令行了啊。

db.collection.update({"categories.title":"移动电源"},{"$set":{"categories.$.newFiled":"newValue"}})

这样子就会对categoryies下面的元素中title的值为 移动电源 的元素,设置newFiled值为newValue 只能单个设置。

至于对应的java代码我就不懂了,不用java ^-^

你楼上答案是正确的,顶楼上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题