2013-10-28 5 views
0

я использую библиотеку Монго (Alex bibly) с codeignitor, и моя коллекция как этотМонго запрос обновить поле

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

Я хочу, чтобы обновить isEnable = ложь.

Любая помощь приветствуется.

ответ

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}} 
) 
+0

Ya Вы правы, но я использую codigniter с библиотекой Mongo alex biibly. Возможно ли это с этим? –

+0

Я обновил свой вопрос сейчас. –

Смежные вопросы