我对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));
有关更多信息,请阅读以下文档.
在MongoDB中更新文档