如何更新子文档mongodb

Posted

技术标签:

【中文标题】如何更新子文档mongodb【英文标题】:how to update subdocument mongodb 【发布时间】:2017-08-15 15:26:36 【问题描述】:

这是我的收藏:


    "_id" : ObjectId("58d32e3c8726e31b00004ac9"), 
    "buyer" : "zul@buyer1001", 
    "sellers" : [
        
            "seller" : "razi@seller1001", 
            "items" : [
                
                    "item_name" : "Mizuno Wave Lightning Z3", 
                    "brand" : "Mizuno",
                    "status" : "Disabled"
                ,
                
                    "item_name" : "Mizuno Wave Fang SS", 
                    "brand" : "Mizuno",
                    "status" : "Disabled"
                
            ]
         
    ]

如何将所有项目状态更新为“启用”?

【问题讨论】:

嗨 Adfued Fufu Fued,欢迎来到 Stack Overflow。你能展示你迄今为止尝试过的东西,并指出它在哪里工作或不工作吗?您不应该在没有证明您已经尝试过自己寻找答案的情况下提出问题。 【参考方案1】:

对于 Mongo shell,你可以使用这个命令,

db.collection.find().forEach(function(doc) 
doc.sellers.forEach(function(list) 
    list.items.forEach(function(object) 
        object.status = "Enabled";
    );
);
db.collection.save(doc);
);

【讨论】:

以上是关于如何更新子文档mongodb的主要内容,如果未能解决你的问题,请参考以下文章

如何使用子文档数组更新 MongoDB 文档

mongodb介绍mongodb安装连接mongodbmongodb用户管理

MongoDB:如何使用 Mongoose 添加或更新子文档?

Mongoose如何更新子文档字段?

如何根据查询从子文档数组中更新子文档字段?

如何在使用 couchbase 子文档 api 执行更新时获取 CAS 值?