如何更新 mongodb 中嵌套对象的字段? [复制]

2024-01-07

Salam(意思是你好):)

我在用着节点 mongodb-native https://github.com/mongodb/node-mongodb-native驱动程序和我需要更新存储在数组中的对象的特定字段。这是我的 mongodb 集合中的示例文档:

{
    "fields" : [ 
        {
            "en" : "birthDate",
            "status" : "enable",
            "index" : 10
        },{
            "en" : "email",
            "status" : "enable",
            "index" : 4
        },{
            "en" : "inviterCode",
            "status" : "enable",
            "index" : 2
        }
    ]
}

这是我的新数据:

var newData = [ 
    {
        "en" : "birthDate",
        "status" : "disable",
    },{
        "en" : "email",
        "status" : "disable",
    }
];

如你所见,如果en场比赛,status字段应该更新。我知道以下查询适用于单个更新,但是如何使用单个查询实现多个更新?

collection.update(
    {'fields.en': 'birthDate'}, 
    {$set:{'fields.$.status': 'disable'}}, 
    {w:1, multi: true}, 
    function(error, count){

    }
);

不幸的是,使用单一更新是不可能的。有一个公开票 https://jira.mongodb.org/browse/SERVER-1243MongoDB 为此。

现在,您需要以编程方式执行此操作(例如,循环遍历数组以查找相关索引)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更新 mongodb 中嵌套对象的字段? [复制] 的相关文章

随机推荐