我想在我的收藏中添加一个分页功能。如何在一次查询中找到具有‘开始’和‘限制’位置的单据,并获得总单据数量?
发布于 2012-09-22 21:27:13
您不能在一个查询中同时获得两个结果;最好的做法是使用一个Mongoose Query对象同时获得这两个结果:
var query = MyModel.find({});
query.count(function(err, count) {...});
query.skip(5).limit(10).exec('find', function(err, items) {...});如果需要,可以使用像async这样的流控制框架来干净地并行执行它们。
发布于 2016-03-13 02:35:39
您可以使用插件Mongoose Paginate
$ npm install mongoose-paginate在您的路由或控制器中之后,只需添加:
Model.paginate({}, { page: 3, limit: 10 }, function(err, result) {
// result.docs
// result.total
// result.limit - 10
// result.page - 3
// result.pages
});发布于 2012-09-22 21:59:14
如果你计划有很多页面,你不应该使用跳过/限制,而应该使用计算范围。
请看斯科特对类似问题的回答:MongoDB - paging
https://stackoverflow.com/questions/12542620
复制相似问题