在Couchbase中对文档进行版本控制

问题描述 投票:1回答:1

我们想把版本信息添加到Couchbase中的所有文档的元数据信息中。

为什么呢?因为我们的实体对象是不断变化的,我们想在不破坏数据服务的情况下实现以下功能。

  1. GET所有v1版本的书籍
  2. 获取所有v2版本的书籍
  3. 将所有v1的书籍更新为v2(通过脚本)。

这样我们就可以为我们不同的消费者支持多种文档版本。

最理想的实现方式是什么?如何以一种可以根据版本查询Couchbase的方式来存储文档?

spring-boot couchbase versioning n1ql spring-data-couchbase
1个回答
0
投票

我不是一个Java开发人员,所以我不明白你在Spring中工作的所有限制,但你是否考虑过给文档添加一个 "版本 "属性?

book::0001
{
   "title" : "Moby Dick",
   "version" : 1
}

然后

book::0002
{
   "title" : "Gone Whalin'",
   "isbn10" : "1492966851",
   "version" : 2
}

0
投票

为了在couchbase文档中的版本是 乐观的锁定.请看这里。 还有一点很重要的是,我们不能修改这个版本,它是由couchbase自己处理的。

你可以用spring data couchbase轻松处理。如果你需要更详细的例子,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.