2013-12-23 3 views
3

У меня совершенно новое для MongoDB и это Java-драйвер.
Мне нужно обновить значение подполя, но я не могу найти примеры в Интернете.Обновление значения подполя в MongoDB с помощью Java-драйвера?

Документ:

{ 
    "_id" : ObjectId("45678942342"), 
    "user" : "me", 
    "aStruct" : { 
     "subfield_1" : true, 
     "subfield_2" : true 
    } 
} 

Как обновить значение подполя subfield_1 к ложной, для каждого документа, который имеет пользователя = меня?


спасибо.

ответ

5

Вы можете сделать это следующим образом:

db.collection.update({user : "me"},{$set:{"aStruct.subfield_1" : false}}, false, true) 

В Java вы можете сделать это следующим образом:

DBCollection coll = // Define your collection here 

DBObject query = new BasicDBObject(); 
query.put("user", "me"); 

DBObject updateObj = new BasicDBObject(); 
updateObj.put("aStruct.subfield_1", false); 

coll.updateMulti(query, new BasicDBObject("$set", updateObj)); 

Для получения более подробной информации читайте следующий документ.

+0

Работает отлично. Спасибо! – thedp

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