未知的顶级运算符:$ limit

时间:2018-09-05 01:16:48

标签: java spring mongodb

引发错误:

查询失败,错误代码2和错误消息“未知顶级运算符:$ limit”

@Query("{ 'userID' : ?0, $limit : 5, $orderby : { 'startTime' : -1 } }")

如何用@Query注释写出来?

2 个答案:

答案 0 :(得分:1)

不要在@Query批注中包含排序和限制,但可以使用查询方法。

Pageable与“排序选项”一起使用。

类似

findByUserID(userID, PageRequest.of(0, limit, Direction.DESC, "startTime"))

答案 1 :(得分:0)

您可以使用类似的

@Query("{'userID' : ?0}, $limit : 1, $orderby : {'startTime' : -1 }")

就像这些家伙一样: Spring java MongoDB @Query annotation for order top or first records

注意:不需要在最外面的花括号,它们是隐式添加的。相反,请将您的userID条件包裹在花括号中。