我有一个带有分页的简单查询的存储库:
Page<MyBean> findMyBeans(String name, Pageable pageable);
我的问题是:
分页将限制为20(默认情况下)对mongo的查询(如mysql中的限制)或者它将从mongo中检索所有数据并仅将20个结果重新调用给调用者?
谢谢
答案 0 :(得分:1)
它会将游标限制为20.具体来说,它会创建一个DBCursor,其值限制为20,如下所示:
Cursor id=0, ns=test.myCollection, query={ }, numIterated=0, limit=100, readPreference=primary
如果您使用Java Mongo DB Driver并将DBCursor
声明为:
DBCursor myCursor=myCollection.find().limit(20);
因此使用MongoDB直接使用本机游标(它在20到20之间迭代)(首先调用前20,然后是21-40,依此类推):
Cursor cursor = myCollection.find();
cursor.limit(20);