我发现使用mongoOperations的查询中的skip()很有趣。
我有这段代码:
if (question.getCategory() == "" && question.getDifficulty() == 0 && question.getNumberOfCorrectAnswers() == 0)
return mongoOperations.find(new Query(Criteria.where("question").regex(questionPattern, "i"))
.limit(getLimit()).skip(getSkip()), Question.class);
我在搜索方法中使用它。我想做一个分页。例如,将结果限制为10并跳过前5个。
limit()工作正常,但是当它获得值1时,skip()显示集合中的第一个文档。 limit()默认为0,不缩短范围。
我检查了mongodb shell并跳过(1)从第二个开始查看文档。
有人知道如何解决这个问题吗?
答案 0 :(得分:1)
你可以试试这个:
Criteria criteria = Criteria.where("question").regex(questionPattern, "i");
Query query = Query.query(criteria);
query.limit(getLimit());
query.skip(getSkip());
return mongoOperations.find(query, Question.class);