使用Java驱动程序更新MongoDB中子字段的值?

时间:2013-12-23 12:54:58

标签: java mongodb

我对MongoDB很新,它是Java驱动程序 我需要更新子字段的值,但我在网上找不到任何示例。

文件:

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

如何为用户 = 的每个文档更新子字段 subfield_1 的值为 false >?


谢谢。

1 个答案:

答案 0 :(得分: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));

有关更多信息,请阅读以下文档。