我使用的是spring数据MongoDB。我想使用 @Query 注释以使用ID列表查找数据模型对象列表,ID列表是数据模型对象中嵌套的criteria对象中的字段。
@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);
}
您可以通过以下查询来实现这一点。
Page<DataModel> findByCriteria_IdInAndCriteria_DateTimeSearchBetween( List<Integer> ids, Date fromDate, Date toDate, Pageable pageable);
你不需要 @Query
您可以使用以下命令查询此方法
findByCriteria_IdInAndCriteria_DateTimeSearchBetween(..., ..., ..., new PageRequest(0, 3);