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

@spring data mongodb存储库语法中的查询注释

江智
2023-03-14

我使用的是spring数据MongoDB。我想使用我的存储库中的@Query注释来查找数据模型对象的列表,该列表使用的ID是criteria对象中的一个字段,它嵌套在数据模型对象中。

此外,希望只获取指定日期范围之间的文档,以及返回到指定限制的记录数量的限制。感谢任何帮助,谢谢。

@Repository
public interface DataModelRepository extends MongoRepository<DataModel, String>{

@Query("{'Criteria.Id' :{ $in: ?0},{'Criteria.DateTimeSearch' : { $lt: ?1, $gt: ?2 }},{$limit :?3}")
List<DataModel> findAllBySearchCriteriaId(List<Integer> ids, Date toDate, Date fromDate, int limit);

}

共有1个答案

刘和玉
2023-03-14

您可以通过以下查询来实现这一点。

Page<DataModel> findByCriteria_IdInAndCriteria_DateTimeSearchBetween(
                                                         List<Integer> ids,  
                                                         Date fromDate,
                                                         Date toDate,  
                                                         Pageable pageable);

你不需要@Query

您可以使用以下命令查询此方法:

findByCriteria_IdInAndCriteria_DateTimeSearchBetween(...,
                                                           ...,
                                                           ..., 
                                                          new PageRequest(0, 3);
 类似资料:
  • 我正在从事一个项目,该项目有一个带有查询的JPA存储库。其中一个查询在同一个查询中有以及,但它不能正常工作。 当我通过时,它返回大约,当我通过例如“MAR”时,它返回,这是没有意义的,因为没有过滤器的查询正在获取所有行。我观察到的是,在处,正在分割查询。他正在列表中寻找,使用

  • 我想在中编写一个类似的查询,但它没有返回任何内容: -它不起作用。 一样完美。 以下是我的代码:

  • 目前我一直在使用以下Spring JPA存储库自定义查询, 我需要修改这个查询时,筛选文本将是逗号分隔的值。但按照以下方式,它将是一个动态查询,我如何执行它。 我需要构建动态查询,

  • ...除了这不存在。但这是关于我在这里想做什么。 或相反的: ...它获取每个GameCharacter的最早版本。为此,我已经尝试了,但显然Javers没有从最后开始计算版本。 这方面的Gradle依赖关系是:

  • ..回购方法 我用DESC和ASC调用编写了一个单元测试,反之亦然,似乎第一个调用是什么,第二个调用给出的结果是一样的。