在mongodb中更新深层嵌套的对象

时间:2017-09-23 20:04:49

标签: mongodb mongodb-query

我正在尝试在以下模型中将最喜欢的布尔值更新为true。

我只需要成功/失败的回报,所以我一直在尝试使用投影进行更新。但是,我似乎没有比选择文章更进一步,但是无法根据标题名称更改喜欢的值。

我正在使用mongoDB node.js驱动程序

谢谢!

_id: id,
news: [
    { 
      name: bbc,
      articles: [
                  {
                    title: 'flashpoint', favorite: false
                  }
                ]
    }
]

1 个答案:

答案 0 :(得分:2)

你实际上遇到了MongoDB的一个限制,他们的Jira上的Ticket在2010年开放,关于更新深层嵌套数组中的项目,并且刚刚实施,声明将发布于Mongo 3.5.12 。如果您使用的是旧版本,最简单的解决方案是选择包含您的文章的第二个集合(对第一个集合的引用),以便您可以直接更新它们。