当前位置: 首页 > 知识库问答 >
问题:

Spring数据MongoDB存储库中的计数

贺皓
2023-03-14

我想知道是否有任何机制可以在Spring Data MongoDB存储库中使用带有@Query注释的count?我希望能收到我所拥有的文件数量,而不必获取所有文件。

基本上,这在Java中相当于:

db.test.find({"type":"foo"}).count 

共有3个答案

苏洛城
2023-03-14

我最近也遇到了同样的问题,不幸的是没有找到任何解决方案,至少在当前的稳定版本中没有。Spring Data JPA 1.4M1中似乎有可能包含它,所以它也可能包含在Spring Data MongoDB的下一个版本中。

秋阳荣
2023-03-14

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

@Query(value = "{'productDetails.productType': {$regex: ?0, $options: 'i'}, 'sourceDescriptor': ?1}", count = true)
public Long countFetchedDocumentsForCategory(String cat, String sourceDescriptor);
汪凌
2023-03-14

使用MongoRepository查询模板的另一种方法:

public interface MyRepository extends MongoRepository<MyClass, String> {
    Long countByLastname(String lastname);
}

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

 类似资料:
  • 问题内容: 我想知道在带有注释的Spring Data MongoDB存储库中是否可以使用任何机制?我很想收到我所拥有的文件数量而不必全部获取。 基本上,这等效于Java: 问题答案: 对我来说,这个解决方案就像一个迷住了一样(使用spring-data-mongodb 1.3.1.RELEASE),我也遇到了同样的问题atm并像这样解决了它(这只是我工作中的一小段代码):

  • 我需要使用spring@Cacheable注释缓存对MongoDB的调用: 不幸的是,使用@Cacheable注释接口中的任何方法都会导致以下异常: 我正在寻找一种方法来缓存对DB的调用(这相当昂贵)。有什么想法吗?

  • 我想使用SpringBoot和SpringDataMongoDB开发一个小测试应用程序。因此,在本例中,我使用默认配置(如localhost:27017/test-database),并尝试遵循spring指南(https://spring.io/guides/gs/accessing-data-mongodb/). 我按如下方式启动我的应用程序: DummyClass如下所示: 当project

  • 我试图创建一个spring数据存储库,它使用一个方法列出一页实体和一个QueryDSL谓词,使用以下内容: 正如这里提到的禁用从PageRequest获取总页数的计数查询的方法,我尝试使用“技巧”用“FindAllby”命名方法。 如何在不发出count查询的情况下使用Pageable创建QueryDSL存储库?在最后一页之后执行额外的查询以获取下一页,而不是对每个页面请求发出额外的计数查询,这样

  • 它是否将其存储在缓存中?我有一个应用程序,但应用程序中没有任何地方。属性是提到的db详细信息。我可以通过邮递员存储数据和查询它。