0

我正在使用带有 codeignitor 的 Mongo 库(alex bible),我的收藏是这样的

{
  chart:{
         "LL":[
                { "isEnable":true,
                  "userName":"Nishchit Dhanani"
                }
              ]           
        }
}

我想更新isEnable=false

任何帮助表示赞赏。

4

1 回答 1

1

首先,您的 JSON 文档中有一个错误。字典中不能有键值。

所以你的 JSON 应该是这样的:

{
    "_id" : ObjectId("526e0d7ef6eca1c46462dfb7"),  // I added this ID for querying. You do not need it
    "chart" : {
        "LL" : {
            "isEnable" : false,
            "userName" : "Nishchit Dhanani"
        }
    }
}

并且要执行您需要的操作,您必须使用$set

db.test.update(
  {"_id" : ObjectId("526e0d7ef6eca1c46462dfb7")},
  {$set : {"chart.LL.isEnable" : false}
})

使用您的新修改,您需要执行以下操作:

db.test.update(
  {"chart.LL.isEnable" : false},
  {$set : {"chart.LL.$.isEnable" : false}}
)
于 2013-10-28T07:14:29.350 回答