用于从Java驱动程序分页的MongoDB查询

用于从Java驱动程序分页的MongoDB查询,java,mongodb,database,Java,Mongodb,Database,以下查询是从Java驱动程序端在MongoDB中执行分页的正确方法吗 Criteria criteria = new Criteria("users").in(userID); Query query = new Query(criteria).skip(start).limit(count); 在本例中,“开始”和“计数”是方法参数。这种方法是否存在性能问题?如果是这样,为了解决MongoDB查询中的分页问题,有哪些替代查询方法?使用skip and limit是从数据库获取结果页面的常见模

以下查询是从Java驱动程序端在MongoDB中执行分页的正确方法吗

Criteria criteria = new Criteria("users").in(userID);
Query query = new Query(criteria).skip(start).limit(count);

在本例中,“开始”和“计数”是方法参数。这种方法是否存在性能问题?如果是这样,为了解决MongoDB查询中的分页问题,有哪些替代查询方法?

使用skip and limit是从数据库获取结果页面的常见模式

就性能而言,在访问数据库时,如果应用程序和数据库服务器位于不同的计算机上,则始终需要知道应用程序和数据库服务器之间的网络跳会带来性能代价。在示例代码中,这应该只是通过网络进行的单个调用,这很好。但是,请注意,如果您有一个非常大的
count
值,则结果将分批返回(即需要多次网络调用),第一批中的默认值为101(请参阅:)