2015-11-18 107 views
0

我使用@Query注释和crudRepository从MongoDB中获取数据。 例子:Spring java MongoDB @Query订购顶部订单或第一个记录的注释

@Query("{$query: id: ?0}, $orderby: {dateTime: -1}}") 
public List<A> findId(
    Integer id, Pageable pageable 
); 

什么我需要添加到我的@Query符号,如果我想获取收集,或收集的只有前N个记录的只有前N个记录?我想使用动态查询和动态设置限制和顺序(第一或最高记录)。

+0

看那[** **文件(http://docs.spring.io/spring -data/mongodb的/文档/电流/参考/ HTML /#repositories.limit-查询的结果)。 – chridam

+1

[Spring存储库中的MongoDB查询:过滤后记录数量限制]的可能重复(http://stackoverflow.com/questions/19939462/mongodb-query-in-spring-repository-limit-number-of-records-after -filter) – chridam

+0

我的问题是不重复它。我想通过@Query注释得到这样的东西:SELECT TOP 10. –

回答

2

可以追加你的@Query$限制:10,或重命名喜欢你的方法:找到First10ByDateDesc()

+0

在这种情况下,我获取前10条记录。如果我想获取前10条记录,需要追加什么? –

+1

其实这不是正确的答案,因为你没有使用聚合框架,但你可以通过重命名你的方法来推断你的查询:一个名为** findFirst10OrderByDateTimeDesc **的方法应该可以正常工作。 – Zava

+0

在这种情况下,我无法动态更改记录限制 –