如何在mongo数据库中更新数组中的字段值?

时间:2015-04-23 06:43:00

标签: mongodb mongodb-query

我们如何更新'已启用' mongo数据库中的配置数组中索引1的配置中的字段?

以下是我的Json数据。

{
    "Configurations" : [ 
                           {
                               "Configuration" : {
                                   "Host" : "",
                                   "Port" : "1521",
                                   "Enabled" : "true"                 
                               }
                            }, 
                            {
                               "Configuration" : {
                               "Host" : "",
                               "Port" : "",
                               "Enabled" : "true"
                               }                                  
                            }
                        ],
    "Description" : "Check Database Server"                   
}

有没有办法更新Configuration中Enabled字段的值? 我们如何在'Enabled'中的配置数组中的索引1处的Configuration中更新Mongodba字段的值?

我想更新Configurations Array中第二个配置的Enabled字段值。

2 个答案:

答案 0 :(得分:2)

这样的事情

db.collection.update({}, 
    { "$set": { "Configurations.1.Configuration.Enabled": false }}
)

答案 1 :(得分:0)

试试这个:

db.collection.update({
"Configurations": {
    "$elemMatch": {
        "Configuration.Port": "1521"
    }
}
}, {
"$set": {
    "Configurations.$.Configuration.Enabled": "false"
}
})