我对MongoDB很新,它是Java驱动程序 我需要更新子字段的值,但我在网上找不到任何示例。
文件:
{
"_id" : ObjectId("45678942342"),
"user" : "me",
"aStruct" : {
"subfield_1" : true,
"subfield_2" : true
}
}
如何为用户 = 我的每个文档更新子字段 subfield_1 的值为 false >?
谢谢。
答案 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));
有关更多信息,请阅读以下文档。