测试地址: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);
本文介绍了一个使用Node.js和MongoDB实现的简单分页查询系统。通过HTTP GET请求,可以指定页数来获取数据库中分页的数据。系统首先连接到MongoDB数据库,然后根据请求的页数获取相应数据,并返回JSON格式的结果。
771

被折叠的 条评论
为什么被折叠?



