首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >所有嵌套文档的$set属性

所有嵌套文档的$set属性
EN

Stack Overflow用户
提问于 2015-06-25 08:32:24
回答 3查看 67关注 0票数 0

我想知道如何为所有嵌套文档设置属性。

假设我有一个具有嵌套category文档的item文档:

代码语言:javascript
复制
{
  items: [
    {
      hidden: true
    },
    {
      hidden: true
    },
    ...
  ]
}

如何将项的所有hidden属性更新为false

我试过这样做:

代码语言:javascript
复制
db.categories.update({}, {$set: {'items.$.hidden': false}})

但是MongoDB给了我The positional operator did not find the match needed from the query. Unexpanded update: items.$.hidden。有什么建议吗?

EN

Stack Overflow用户

回答已采纳

发布于 2015-06-25 08:42:27

由于本期,您需要使用脚本进行更新

使用以下方法更新所有字段:

代码语言:javascript
复制
db.collection.find({
    _id: ObjectId("558bbd23fdf0f33ec7a067c8")
}).forEach(function(doc) {
    doc.items.forEach(function(items) {
    if (items.hidden == true) {
        items.hidden = false;
    }
    });
    db.collection.save(doc);
});
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31045094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档