gpt4 book ai didi

java - 使用 Java 在 MongoDB 中更新集合。

转载 作者:行者123 更新时间:2023-12-02 12:46:27 27 4
gpt4 key购买 nike

  1. 我正在使用 MongoDb 来存储集合
  2. 首次插入集合时无需任何其他考虑
  3. 一旦数据在数据库中初始化,应用程序的其余部分就会在内存中的集合中进行更改,而不是在数据库中。
  4. 在某些情况下,我想“更新插入”数据库中的内存集合。
  5. 我想将整个内存集合发送到数据库,并且我需要“一些魔法”来仅更新内存中已更改的集合数据。

任何人都可以帮助我实现我正在寻找的“一些魔法”吗?

我正在使用 Java、Heroku、mLab:MongoDB 技术堆栈。

最佳答案

假设内存数据库是一个集合,每个文档都有id,你可以使用MongoTemplateinsertAll方法来转储整个文档 Collection 。它将按原样保留未更改的文档并更新其他文档。

upsert而言,您可以创建一个Query并使用MongoTemplateupsert方法,例如:

Query query = new Query(Criteria.where("_id").is(my_id));
mongoTemplate.upsert(query, document, Document.class, "collection_name");

这是 insertAll 的 javadoc和 upsert方法。

更新

如果您使用的是核心 mongo-java-driver 那么您可以查看 thisthis SO 答案是执行相同的操作。

关于java - 使用 Java 在 MongoDB 中更新集合。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754876/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com