gpt4 book ai didi

couchbase - 在 Couchbase 中是否可以为非 JSON 文档设置和获取 XATTR 值?

转载 作者:行者123 更新时间:2023-12-05 06:50:36 26 4
gpt4 key购买 nike

我将二进制数据放在 Couchbase 中。但是对于我的新用例,我需要在我的文档中设置一个名为 created_date 的字段。我正在考虑为此使用 xattr。

这个字段“created_date”的目的是用它来比较同一文档的两个版本(比如 doc_1)

例如

doc_1 - created_date1 - 目前在 couchbase

doc_1 - created_date2 - 从上游接收

而且我需要比较 created_date2 和 created_date1,并且仅当 created_date2 > created_date1 时才替换 Couchbase 中的上游文档。

我正在为 Couchbase 使用 Java SDK。我在 Couchbase 中使用 upsert 插入/更新,Couchbase 支持 UpsertOptions 中非 JSON 文档的转码器。

UpsertOptions upsertOptions = UpsertOptions.upsertOptions()
.transcoder(transcoder)

但是为了设置 Xattr,我认为我必须使用

collection.mutateIn

因为 MutateInSpec 支持 xattr

MutateInSpec.replace("created_date", created_date).xattr())

但我找不到指定转码器的选项

MutateInOptions.mutateInOptions()

我们将不胜感激。

最佳答案

所以您需要在编写 xattr 的同时编写二进制文档主体?这是可能的,你可以这样做:

    collection.mutateIn("doc-id", Arrays.asList(

// Make sure xattrs go first in the specs list
MutateInSpec.upsert("xattr-path", "xattr-field").xattr(),

// You can replace the document's body with binary data like this
MutateInSpec.replace("", new byte[]{1,2,3,4})));

关于couchbase - 在 Couchbase 中是否可以为非 JSON 文档设置和获取 XATTR 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66382710/

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