spring - CouchbaseException:使用计数器时的 INVALID_ARGUMENTS
问题描述
我有一个 springBoot 2.1.9.RELEASE 应用程序,它使用 Spring Data for Couchbase 但是当我使用 Couchbase 中的 Atomic 计数器将计数器增加 1
bucket.counter(doc.getId(), 1);
我有一个例外
com.couchbase.client.core.CouchbaseException: INVALID_ARGUMENTS
...Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: com.couchbase.client.core.message.kv.CounterResponse.class
at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:73)
... 22 common frames omitted
我也试过
try {
bucket.counter(docId, 1);
} catch (CouchbaseException e) {
if ("INVALID_ARGUMENTS".equalsIgnoreCase(e.getMessage())) {
LegacyDocument legacyDocument = rqmBucket.get(LegacyDocument.create(docId));
String s = legacyDocument.content().toString();
Long value = Long.parseLong(s) + 1;
bucket.upsert(JsonLongDocument.create(docId, value));
}
}
但我得到了一个java.lang.NumberFormatException
,因为legacyDocument.content()
给了我所有的 Json 文档。:
"{"hostel":{"address":15..."
解决方案
推荐阅读
- javascript - Nestjs / Jestjs:收到:未定义,预期:1
- java - 鉴于检查的错误不会在我的程序中抛出,这个未经检查的包装器是否可以接受
- javascript - 数组减少累加器为空数组,推送不起作用
- python - Pyexcelerate:设置表格样式格式
- html - 如何删除输入的边框
- python - 如何优化查询集过滤
- powershell - 如何使用 PowerShell 解密通过 SSE-C 方法上传的文件
- c - 在 Linux 中,进程如何调用 mmap() 并为其子进程添加 VMA?
- java - 基于 Object 的 Java Map 键值对的 Object 的 Hibernate 查询
- html - Moodle网站页脚中的标志问题