2013-12-23 131 views
3

我对MongoDB相当陌生,它是Java驱动程序。
我需要更新子字段的值,但我无法在线找到任何示例。使用Java驱动程序更新MongoDB中子字段的值?

文件:

{ 
    "_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

相关问题