11.node+express+mongo 添加分页

本文介绍了一个使用Node.js和MongoDB实现的简单分页查询系统。通过HTTP GET请求,可以指定页数来获取数据库中分页的数据。系统首先连接到MongoDB数据库,然后根据请求的页数获取相应数据,并返回JSON格式的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试地址: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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值