Couchbase 无法 MutateIn 多个带有 null 值的 upserts

2024-04-24

我有一个 Couchbase 文档,我想在一次调用中改变多个属性。如果其中一个属性值为 null,则 mutate 会失败并显示以下消息:

KV错误:{名称=“EINVAL”,描述=“无效数据包”,属性=“内部,无效输入”}

和状态

Couchbase.IO.ResponseStatus.InvalidArguments

如果我只是尝试将单个属性更改为 null,并且所有属性值都不为 null。变异一定会成功。

另外,如果我尝试将多个属性更改为 null,它将失败。

// This works
var mutatedWorks1 = bucket.MutateIn<dynamic>(doc1.DocId)
    .Upsert("nullProperty", "NotNull")
    .Upsert("name", "MutatedName")
    .Execute();

// This also works
var mutatedWorks2 = bucket.MutateIn<dynamic>(doc1.DocId)
    .Upsert("nullProperty", null)
    .Execute();

// This doesn't work
var mutatedNotWork = bucket.MutateIn<dynamic>(doc1.DocId)
    .Upsert("nullProperty", null)
    .Upsert("name", "MutatedName")
    .Execute();      

// This also doesn't work
var mutatedNotWork = bucket.MutateIn<dynamic>(doc1.DocId)
    .Upsert("nullProperty", null)
    .Upsert("name", null)
    .Execute();   

Couchbase客户端是.Net SDK 2.7.10

如果一个或多个属性值为空,如何改变多个属性?


此问题现已修复(NCBC-2038 https://issues.couchbase.com/browse/NCBC-2038)并计划在下一个维护补丁中发布,该补丁定于 2019 年 8 月 6 日发布。

Thanks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Couchbase 无法 MutateIn 多个带有 null 值的 upserts 的相关文章

随机推荐