我希望更新文档中的“信息”,唯一的问题是我将其存储为文档,并且似乎无法访问它。
Document doc = new Document("name", "Test")
.append("type", "database")
.append("count", 1)
.append("info", new Document("a", 23).append("b", 12));
现在,我希望将新信息添加到“信息”中,("c", 8)
我已经尝试过doc.append("info", ... )
,但它只会覆盖数据。
我当时正在考虑创建新文档,并将其设置为与doc中的文档相同,例如
Document temp = new Document();
temp.append("info", doc.get("info"));
并对其进行更新,但是它不起作用。我感谢任何建议或新方法。谢谢!
答案 0 :(得分:0)
您要查找的是对Mongo文档更新的$ set操作。这样可以更新单个字段,而不会干扰其他字段。
类似的东西:
Document selectQuery = new Document("name", "test");
Document updateInstruction = new Document("$set", new Document("info.c", "8"));
repo.updateOne(selectQuery, updateInstruction);