Spring数据mongodb存储库语法中的@Query注释

时间:2018-03-06 11:39:54

标签: mongodb-query spring-data spring-data-mongodb

我正在使用spring-data-MongoDB。我想在我的存储库中使用@Query注释来查找数据模型对象列表,这些对象使用标准对象中的字段列表,这些字段嵌套在数据模型对象中。

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

@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 个答案:

答案 0 :(得分:0)

您可以通过以下查询来实现此目的。

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

您不需要@Query

您可以使用类似

的方式查询此方法
findByCriteria_IdInAndCriteria_DateTimeSearchBetween(...,
                                                           ...,
                                                           ..., 
                                                          new PageRequest(0, 3);