我在Couchbase中转换内置reduce函数的返回值时遇到问题。我使用_count
来获取检索到的文档数。我对.reduce()
对象使用ViewQuery
函数。
我希望结果为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;
答案 0 :(得分:1)
这是检索计数结果的方法:
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();