【发布时间】:2019-10-05 06:44:17
【问题描述】:
我有一个包含以下数据的集合:
id: 1, item: book, version: 1
id: 2, item: book, version: 2
id: 3, item: cat, version: 1
id: 4, item: cat, version: 2
id: 5, item: cat, version: 3
我想通过提及项目本身来插入一个新元素。 id 当然是自动生成的。版本应根据项目字段自动递增。这意味着如果我想插入一个带有“书”项的新文档,它应该如下所示:
id: 6, item: book, version: 3
如何在 MongoDB 数据库中使用 Spring Boot。
情况: 实际上我有两个集合:变化,状态。在服务器端应用程序中,我们有业务。我们在每个企业的州集合中都有一份州文件。业务中可能存在数据更改,当发生更改时,我们从状态集合中获取业务状态。它包含一个businessID 和一个版本。版本是业务的整体数据版本。我们将版本号加一并将其保存到状态文档中。然后我们在更改集合中保存一个文档,其中包含一个新版本的 businessId 和有关实际更改的数据。 问题是这是数据库中的两个操作。如果业务发生了很多变化,那么这两个集合中的数据可能会损坏。计划是删除状态集合并仅保留更改集合。然后我们必须对单个数据库操作执行以下操作:在更改集合中找到一项业务的最大版本,然后在其中插入一个新文档,其中包含递增的版本号和新的更改。我不知道如何进行一次查找和插入操作
【问题讨论】:
标签: java mongodb spring-boot