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

标签 java mongodb

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

文档:

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

对于每个包含user = me 的文档,如何将子字段 subfield_1 的值更新为 false> ?


谢谢。

最佳答案

您可以按如下方式进行:

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));

有关详细信息,请阅读以下文档。

关于java - 使用 Java 驱动程序更新 MongoDB 中子字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20744062/

相关文章:

java - 尝试添加 "Could not find or load main class"作为 vm 选项时 Intelij idea 错误 "-Djava.library.path"

java - Android,仅当通过 Intent 操作关闭应用程序时才打开应用程序

mongodb - 有人可以帮助我解释重复键错误发生时的mongo插入过程吗?

node.js - 未找到 MongoDB 数据/数据库

ruby - Sinatra、Mongoid、Heroku、MongoHQ : connecting to Mongodb

mongodb - 在 MongoDB 中删除大集合的最佳方法

java - 关于混合 Java 和 SQL 查询,如何做得最好?

java - IOException : Error running exec() Command, 调用FFmpeg方法时

java - Java 中的 String.contains

执行 $elemMatch 时 MongoDB 索引不起作用