测试地址:http://localhost/page?pagenum=1
http://localhost/page?pagenum=2
pagenum代表第几页
db.js
var mongodb = require("mongodb");
var MongoClient = mongodb.MongoClient;
function _connect(callback){
var url = "mongodb://localhost:27017/company";
MongoClient.connect(url,function(err,db){
callback(err,db);
db.close();
})
}
//pageObj是一个对象, 如果传该对象,需要分页。否则不需要分页
//pageObj有三个属性:sort,skip,limit
//{sort:{name:1},skip:0,limit:0}
exports.find = function(collectionName,json,callback,pageObj){
// db.worker.find().sort({},1) 1 为升序排列,而-1是用于降序排列。
//db.worker.find().skip(0)
//db.worker.find().limit(0)
var sort = {};
skip = 0;
limit = 0;
if(arguments.length == 4){
sort = pageObj.sort?pageObj.sort:{};
skip = pageObj.skip?pageObj.skip:0;
limit = pageObj.limit?pageObj.limit:0;
}
_connect(function(err,db){
db.collection(collectionName).find(json).sort(sort).skip(skip).limit(limit).toArray(function(err,results){
callback(err,results);
});
})
}
server.js
var express = require("express");
var mongodb = require("mongodb");
var bodyParser = require("body-parser");
var db = require("./module/db.js");
var app = express();
app.use(express.static("./public"));
//分页查询
app.get("/page",function(req,res){
db.find("worker",{},function(err,results){
res.json(results);
},{
sort:{"age":1},
skip:(req.query.pagenum-1)*3,//按三条分页
limit:3//每页显示3条
})
})
app.listen(80);