计入Spring Data MongoDB存储库

pau*_*aul 16 java spring mongodb spring-data

我想知道是否有任何机制可以count在带有@Query注释的Spring Data MongoDB存储库中使用?我很乐意收到我所拥有的文件数量,而无需获得所有这些文件.

基本上,相当于Java中的这个:

db.test.find({"type":"foo"}).count 
Run Code Online (Sandbox Code Playgroud)

Dan*_*anJ 42

使用MongoRepository查询模板执行此操作的另一种方法:

public interface MyRepository extends MongoRepository<MyClass, String> {
    Long countByLastname(String lastname);
}
Run Code Online (Sandbox Code Playgroud)

http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#repositories.query-methods.details

  • 这应该是公认的答案。感谢提供文档;我已经解决这个问题太久了:http://docs.spring.io/spring-data/data-mongo/docs/1.4.2.RELEASE/reference/html/mongo.repositories.html (3认同)

wma*_*max 34

对我来说,这个解决方案就像一个魅力(使用spring-data-mongodb 1.3.1.RELEASE),我只是遇到了同样的问题atm并且像这样解决了它(只是我工作代码中的一小段代码):

@Query(value = "{'productDetails.productType': {$regex: ?0, $options: 'i'}, 'sourceDescriptor': ?1}", count = true)
public Long countFetchedDocumentsForCategory(String cat, String sourceDescriptor);
Run Code Online (Sandbox Code Playgroud)