2015-04-23 94 views
0

如何在mongo数据库的配置数组中的索引1处更新配置中“已启用”字段的值?如何在mongo数据库中更新数组中的字段值?

以下是我的Json数据。

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

有什么方法可以更新配置中已启用字段的值? 我们如何在Mongodba的配置数组中的索引1处更新配置中的'Enabled'字段的值?

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

+0

请确保唯一的代码被标记为代码。 – Peanut

+0

[如何从Mongodb中的对象中存在的数组中删除元素/ mongoose](http://stackoverflow.com/questions/29797688/how-to-delete-an-element-from-the -array-which-is-present-inside-an-object-in-mon) – Yogesh

+0

数组下标倾向于基于0.这让我想起MongoU的一个问题... –

回答

2

什么像这样

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

是的,我想要这样的东西,但是什么我们应该在下面的代码中传递...的值。 db.collection.update(''....'', {“$ set”:{“Configurations.1.Configuration.Enabled”:false}} ) –

+0

http://docs.mongodb.org/manual /reference/method/db.collection.update/ – styvane

0

试试这个:

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