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

6

我对 MongoDB 和它的 Java 驱动程序还比较陌生。
我需要更新一个子字段的值,但是在网上找不到任何示例。

文档如下:

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

如何更新所有user字段等于me的文档中,子字段subfield_1的值为false


谢谢。

1个回答

8
您可以按照以下步骤操作:
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));

如需更多信息,请阅读以下文件。


非常好用。谢谢! - thedp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接