var async = require('async'); //async module
var mongoose = require('mongoose');//mongoose module
/**
* 分页查询,该方法依赖`mongoose`组件
* @param page 页数,如第1页,就传1
* @param pageSize 每页大小,如一页展示10条,就传10
* @param Model mongoose的指定Model对象,是一个schema对象
* @param fieldJson 查询字段
* @param populate 关联查询
* @param queryParams 查询条件
* @param sortParams 排序
* @param callback 回调函数
*/
pageQueryNew :function (page, pageSize, Model,fieldJson, populate, queryParams, sortParams, callback) {
var start = (page -1) * pageSize;
var $page = {};
async.parallel({
count:function (done) {// 查询数量
Model.count(queryParams).exec(function (err, count) {
done(err, count);
});
},
records:function (done) {// 查询一页的记录
Model.find(queryParams, fieldJson).skip(start).limit(pageSize).populate(populate).sort(sortParams).exec(function (err, doc) {
done(err, doc);
});
}
}, function (err, results) {
var count = results.count;
$page.total = count;
$page.data = results.records;
callback(err, $page);
});
},
nodejs分页查询方法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 直接上代码: 使用方法: 说明:回调函数两个参数:error和$page,$page对象包含的属性: pageNu...
- Rails提供了数据库查询方法以供我们快捷的去查询数据,以至于让我们不需要太懂sql的查询语句就可以通过Rails...
- http://blog.jobbole.com/80464/大数据分页查询时直接使用关键key来分页,不使用Ski...
- 有时候我们需要用jpa实现如下sql查询:select * from tableA A where A.EVALU...