我做一个couchbase文件的部分更新内容如下:Couchbase部分更新工作不正常
...
MutateInBuilder builder = bucket.mutateIn(id);
for (Map.Entry<String, Object> entry : map.entrySet())
{
builder = builder.upsert(entry.getKey(), entry.getValue());
}
builder.execute();
...
当所有UPSERT调用所有的值都是同一类型的,东西很好地工作。
但是,如果某些值是字符串,说别人是布尔,我们得到了异常:
com.couchbase.client.core.CouchbaseException:在com.couchbase.client.java SUBDOC_INVALID_COMBO .subdocHelper.commonSubdocErrors(SubdocHelper.java:100) at com.couchbase.client.java.subdoc.AsyncMutateInBuilder $ 2.call(AsyncMutateInBuilder.java:1094) at com.couchbase.client.java.subdoc.AsyncMutateInBuilder $ 2 .call(AsyncMutateInBuilder.java:1052)
在upsert的测试用例中,找不到任何更新多个属性的情况。
我们如何在Couchbase中上传具有不同类型属性的文档?
编辑#1:
现在,事情变得怪异...我收到了同样的异常,如果我在一个迭代更新超过16个属性。