在 Couchbase 中访问 reduce 函数的 return 值
Accessing the return value of the reduce function in Couchbase
我在转换 Couchbase 中内置 reduce 函数的 return 值时遇到问题。我正在使用 _count
来获取检索到的文档数。我对 ViewQuery
对象使用 .reduce()
函数。
我希望结果为 Integer
或 long
值。我无法对最终值进行类型转换,并且出现以下异常。
Exception in thread "main" java.lang.ClassCastException: com.couchbase.client.java.view.DefaultViewResult cannot be cast to com.couchbase.client.java.view.ViewRow
ViewQuery query = ViewQuery.from("dev_LCDD", "numDocs").stale(Stale.FALSE).reduce(true);
ViewResult result = theBucket.query(query);
return result;
检索计数结果的方法如下:
ViewQuery query = ViewQuery.from("dev_LCDD", "count").stale(Stale.FALSE).reduce(true);
ViewResult result = bucket.query(query);
List<ViewRow> rows = result.allRows();
ViewRow row = rows.get(0);
Integer count = (Integer) row.value();
我在转换 Couchbase 中内置 reduce 函数的 return 值时遇到问题。我正在使用 _count
来获取检索到的文档数。我对 ViewQuery
对象使用 .reduce()
函数。
我希望结果为 Integer
或 long
值。我无法对最终值进行类型转换,并且出现以下异常。
Exception in thread "main" java.lang.ClassCastException: com.couchbase.client.java.view.DefaultViewResult cannot be cast to com.couchbase.client.java.view.ViewRow
ViewQuery query = ViewQuery.from("dev_LCDD", "numDocs").stale(Stale.FALSE).reduce(true);
ViewResult result = theBucket.query(query);
return result;
检索计数结果的方法如下:
ViewQuery query = ViewQuery.from("dev_LCDD", "count").stale(Stale.FALSE).reduce(true);
ViewResult result = bucket.query(query);
List<ViewRow> rows = result.allRows();
ViewRow row = rows.get(0);
Integer count = (Integer) row.value();