spring data couchbase 是否可以用于访问减少的视图
Can spring data couchbase be used to access reduced views
我知道有一种方法可以使用 Couchbase java sdk 访问缩小的视图结果。我目前无法做的是使用 spring-data 访问缩小的视图。这可能吗?
查看:
View byIdGetDateStats = DefaultView.create("byIdGetDateStats",
"function (doc, meta) {"
+ "if(doc.docType == \"com.bd.idm.model.DayLog\"){"
+ " emit(doc.userid, doc.date)"
+" }}"
,"_stats"
);
当我尝试使用 spring-data 访问这样的视图时:
Query query = new Query();
query.setKey(ComplexKey.of(userid)).setReduce(true).setGroup(true);
ViewResult result = repo.findByIdGetDateStats(query);
错误信息
java.lang.IllegalStateException: Failed to execute CommandLineRunner
...
Caused by: java.lang.RuntimeException: Failed to access the view
...
Caused by: java.util.concurrent.ExecutionException: OperationException: SERVER: query_parse_error Reason: Invalid URL parameter 'group' or 'group_level' for non-reduce view.
....
Caused by: com.couchbase.client.protocol.views.ViewException: query_parse_error Reason: Invalid URL parameter 'group' or 'group_level' for non-reduce view.
.....
不,Spring-Data-Couchbase 1.x 将始终将 reduce
设置为 false
。
如果要使用缩小视图并获得 ViewResult
,请使用 CouchbaseTemplate#queryView()
方法。
您仍然可以通过定义自定义存储库方法在存储库中执行此操作(参见此 chapter of the doc,您应该能够在您的实现中调用 getCouchbaseOperations
)。
我知道有一种方法可以使用 Couchbase java sdk 访问缩小的视图结果。我目前无法做的是使用 spring-data 访问缩小的视图。这可能吗?
查看:
View byIdGetDateStats = DefaultView.create("byIdGetDateStats",
"function (doc, meta) {"
+ "if(doc.docType == \"com.bd.idm.model.DayLog\"){"
+ " emit(doc.userid, doc.date)"
+" }}"
,"_stats"
);
当我尝试使用 spring-data 访问这样的视图时:
Query query = new Query();
query.setKey(ComplexKey.of(userid)).setReduce(true).setGroup(true);
ViewResult result = repo.findByIdGetDateStats(query);
错误信息
java.lang.IllegalStateException: Failed to execute CommandLineRunner
...
Caused by: java.lang.RuntimeException: Failed to access the view
...
Caused by: java.util.concurrent.ExecutionException: OperationException: SERVER: query_parse_error Reason: Invalid URL parameter 'group' or 'group_level' for non-reduce view.
....
Caused by: com.couchbase.client.protocol.views.ViewException: query_parse_error Reason: Invalid URL parameter 'group' or 'group_level' for non-reduce view.
.....
不,Spring-Data-Couchbase 1.x 将始终将 reduce
设置为 false
。
如果要使用缩小视图并获得 ViewResult
,请使用 CouchbaseTemplate#queryView()
方法。
您仍然可以通过定义自定义存储库方法在存储库中执行此操作(参见此 chapter of the doc,您应该能够在您的实现中调用 getCouchbaseOperations
)。