代码之家  ›  专栏  ›  技术社区  ›  kamm92

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

  •  0
  • kamm92  · 技术社区  · 6 年前

    我使用的是spring数据MongoDB。我想使用 @Query 注释以使用ID列表查找数据模型对象列表,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 回复  |  直到 6 年前
        1
  •  0
  •   pvpkiran    6 年前

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

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

    你不需要 @Query

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

    findByCriteria_IdInAndCriteria_DateTimeSearchBetween(...,
                                                               ...,
                                                               ..., 
                                                              new PageRequest(0, 3);