【发布时间】:2019-12-06 16:36:04
【问题描述】:
我想对文档进行更新。我正在使用 couchbase subdocument api 来更新文档。
在执行更新时,我手头只有文档 ID。但是,要获得当前的 Cas 值,我必须执行 get to the couchbase。
我的更新如下:
PrimaryBucket.mutateIn(document_id).upsert("path1","updatevalue1").upsert("path2","updatevalue2")
为了处理乐观锁定,我想使用"mutateIn(id).withCas(<currentcasvalue>)"
在执行更新时,我手头只有文档 ID。但是,要获得当前的 Cas 值,我必须执行 get to the couchbase。 有没有办法避免获取整个文档以便只获取 cas 值来执行更新。
这是正确的方法吗?
【问题讨论】:
-
这听起来像X/Y problem。为什么要在这种情况下使用乐观锁定?如果您所拥有的只是文档 ID,并且您对文档的当前状态一无所知,那么进行比较和交换会产生预期的效果并不明显。
标签: couchbase subdocument couchbase-java-api