使用 Spring Data Couchbase 的简单 "count()" 查询

Simple "count()" query with Spring Data Couchbase

我遇到了一个问题,我似乎找不到解决方案,而且看起来真的很奇怪,因为我已经尝试了官方 Spring Data Couchbase 文档中的所有方法。

基本上我想做的只是一个简单的 count() 方法。

我的存储库:

public interface ICourrierRepository extends CrudRepository<Courrier, String> {

List<Courrier> findByCategorie(String categorie);

Long countByCategorie(String categorie);

@View(designDocument = "_design/courrier", viewName = "courrierBase")
long count();

}

视图设置如下:http://img15.hostingpics.net/pics/169793Capture.png

查看地图是这样的:

function (doc, meta) {
  if (doc._class == "com.model.Courrier") {
    emit(meta.id, null);
  }
}

最糟糕的是,当我在 CouchBase GUI 中将 "reduce" 设置为“_count”时它确实有效,但是当我从我的客户端启动它时,我总是收到相同的消息,并且 return 是 0 :

[cb-computations-2] INFO  c.c.c.java.view.ViewRetryHandler - Received a View HTTP response code (400) I did not expect, not retrying.

感谢您的帮助...

我确实发现了问题...它来自这一行:

@View(designDocument = "_design/courrier", viewName = "courrierBase")

应该是

@View(designDocument = "courrier", viewName = "courrierBase")

此外,视图应设置为 reduce : _count。

希望这对未来的用户有帮助!