如何更新文档中的文档? MongoDB Java

时间:2018-10-25 08:24:33

标签: java mongodb

我希望更新文档中的“信息”,唯一的问题是我将其存储为文档,并且似乎无法访问它。

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

并对其进行更新,但是它不起作用。我感谢任何建议或新方法。谢谢!

1 个答案:

答案 0 :(得分:0)

您要查找的是对Mongo文档更新的$ set操作。这样可以更新单个字段,而不会干扰其他字段。

类似的东西:

Document selectQuery = new Document("name", "test");
Document updateInstruction = new Document("$set", new Document("info.c", "8"));
repo.updateOne(selectQuery, updateInstruction);