spring 数据 mongodb 存储库语法中的 @Query 注释
@Query annotation in spring data mongodb repository syntax
我正在使用 spring-data-MongoDB。我想在我的存储库中使用 @Query
注释来查找数据模型对象列表,该列表使用 id 列表,这些 id 是条件对象中的一个字段,嵌套在数据模型对象中。
此外,只想获取指定日期范围内的文档以及返回指定限制的记录数限制。非常感谢任何帮助,谢谢。
@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);
}
您可以通过以下查询来实现。
Page<DataModel> findByCriteria_IdInAndCriteria_DateTimeSearchBetween(
List<Integer> ids,
Date fromDate,
Date toDate,
Pageable pageable);
你不需要@Query
您可以使用类似
的方式查询此方法
findByCriteria_IdInAndCriteria_DateTimeSearchBetween(...,
...,
...,
new PageRequest(0, 3);
我正在使用 spring-data-MongoDB。我想在我的存储库中使用 @Query
注释来查找数据模型对象列表,该列表使用 id 列表,这些 id 是条件对象中的一个字段,嵌套在数据模型对象中。
此外,只想获取指定日期范围内的文档以及返回指定限制的记录数限制。非常感谢任何帮助,谢谢。
@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);
}
您可以通过以下查询来实现。
Page<DataModel> findByCriteria_IdInAndCriteria_DateTimeSearchBetween(
List<Integer> ids,
Date fromDate,
Date toDate,
Pageable pageable);
你不需要@Query
您可以使用类似
的方式查询此方法findByCriteria_IdInAndCriteria_DateTimeSearchBetween(...,
...,
...,
new PageRequest(0, 3);