我想知道是否有任何机制可以在Spring Data MongoDB存储库中使用带有@Query
注释的count
?我希望能收到我所拥有的文件数量,而不必获取所有文件。
基本上,这在Java中相当于:
db.test.find({"type":"foo"}).count
我最近也遇到了同样的问题,不幸的是没有找到任何解决方案,至少在当前的稳定版本中没有。Spring Data JPA 1.4M1中似乎有可能包含它,所以它也可能包含在Spring Data MongoDB的下一个版本中。
对我来说,这个解决方案很有魅力(使用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);
使用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详细信息。我可以通过邮递员存储数据和查询它。