【发布时间】:2021-07-30 17:58:15
【问题描述】:
我有一个 java couchbase 客户端 v2,可以将文档保存到数据库中
JsonObject content = ...
JsonDocument newDocument = JsonDocument.create(key, expiration, content);
bucket.upsert(newDocument);
当content 是null 时,它会保存一个“空值”文档,在沙发底座控制台中看起来像这样
我正在迁移到 couchbase java 客户端 v3 并以下一步的方式保存文档
JsonObject content = ...
var upsertOptions = UpsertOptions.upsertOptions();
if (expiration != null) {
upsertOptions.expiry(expiration);
}
bucket.defaultCollection().upsert(key, content, upsertOptions);
JsonDocument 在 v3 中不可用,我直接输入JsonObject,当content 不是null 时它可以正常工作。
当我将content 设置为null 时,就像之前的情况一样,它会引发异常com.couchbase.client.core.error.InvalidArgumentException。如果我尝试使用 JsonObject.create() 而不是 null 它会创建一个空文档而不是“空值”文档
为了向后兼容,是否可以使用客户端 v3 创建相同的“空值”文档?
【问题讨论】:
标签: java couchbase couchbase-java-api couchbase-java-client