如何用猫鼬做分页

Eri*_*rik 10 mongoose mongodb node.js express

我想在我的收藏中制作一个分页功能.如何找到具有"开始"和"限制"位置的文档并在单个查询中获取总文档编号?

Joh*_*yHK 18

您无法在一个查询中获得两个结果; 您可以做的最好的事情是使用一个Mongoose Query对象来获取它们:

var query = MyModel.find({});
query.count(function(err, count) {...});
query.skip(5).limit(10).exec('find', function(err, items) {...});
Run Code Online (Sandbox Code Playgroud)

async如果需要,使用流控制框架,以便并行地干净地执行它们.


Yos*_*ero 8

你可以使用插件Mongoose Paginate:

$ npm install mongoose-paginate
Run Code Online (Sandbox Code Playgroud)

在您的路线或控制器之后,只需添加:

Model.paginate({}, { page: 3, limit: 10 }, function(err, result) {
    // result.docs 
    // result.total 
    // result.limit - 10 
    // result.page - 3 
    // result.pages 
});
Run Code Online (Sandbox Code Playgroud)