Node mongodb模塊化封裝

App.js:

var express=require("express");
var mongo=require("./mongo/mongo");
var app=new express();

app.set("view engine","ejs");
app.use(express.static("static"));

app.get("/",function(req,res){
    mongo.findAll("user",{},function(result){
        console.log(result);
        res.render("index");
    });
});
app.get("/insertOne",function(req,res){
    var data={
        name:"花花",
        age:14,
        sex:"女",
        address:"上海市"
    }
    mongo.insertOne("user",data,function(result){
        res.send(result.ok.toString());
    });
});
app.get("/insertMany",function(req,res){
    var data=[
        {
            name:"首爾",
            age:17,
            sex:"女",
            address:"北京市"
        },
        {
            name:"鼕鼕",
            age:29,
            sex:"男",
            address:"成都市"
        }
    ]
    mongo.insertMany("user",data,function(result){
        res.send(result.ok.toString());
    });
});
app.get("/deleteOne",function(req,res){
    mongo.deleteOne("user",{name:"花花"},function(result){
        console.log(result);
        res.send("刪除成功!");
    });
});
app.get("/updateOne",function(req,res){
    mongo.updateOne("user",{name:"首爾"},{$set:{age:32}},function(result){
        res.send("修改成功!");
    });
});
app.get("/paging",function(req,res){
    mongo.paging("user",0,4,{name:1},function(result){
        console.log(result);
        res.send("獲取數據成功!");
    });
});
app.listen(8100);

mongo.js:

var mongoClient=require("mongodb").MongoClient;
var setting=require("./settings");
//連接數據庫
var connect=function(callback){
    mongoClient.connect(setting.url,{ useUnifiedTopology: true },function(error,client){
        if(error) throw error;
        callback(client);
    });
}
//查找方法
exports.findAll=function(tablename,data,callback){
    connect(function(client){
        var dbbase=client.db(setting.dbname);
        dbbase.collection(tablename).find(data).toArray(function(err,res){
            if(err) throw err;
            callback(res);
            client.close();
        });
    });
}
//增加單條數據
exports.insertOne=function(tablename,data,callback){
    connect(function(client){
        var dbbase=client.db(setting.dbname);
        dbbase.collection(tablename).insertOne(data,function(err,res){
            if(err) throw err;
            callback(res.result);
            client.close();
        });
    });
}
//增加多條數據
exports.insertMany=function(tablename,data,callback){
    connect(function(client){
        var dbbase=client.db(setting.dbname);
        dbbase.collection(tablename).insertMany(data,function(err,res){
            if(err) throw err;
            callback(res.result);
            client.close();
        });
    });
}
//刪除單條數據
exports.deleteOne=function(tablename,data,callback){
    connect(function(client){
        var dbbase=client.db(setting.dbname);
        dbbase.collection(tablename).deleteOne(data,function(err,res){
            if(err) throw err;
            callback(res);
            client.close();
        });
    });
}
//修改單條數據
exports.updateOne=function(tablename,data,set,callback){
    connect(function(client){
        var dbbase=client.db(setting.dbname);
        dbbase.collection(tablename).updateOne(data,set,function(err,res){
            if(err) throw err;
            callback(res);
            client.close();
        });
    });
}
//數據分頁
exports.paging=function(tablename,now,num,sort,callback){
    connect(function(client){
        var dbbase=client.db(setting.dbname);
        dbbase.collection(tablename).find().skip(now).limit(num).sort(sort).toArray(function(err,res){
            if(err) throw err;
            callback(res);
            client.close();
        });
    });
}

settings.js:

module.exports={
    url:"mongodb://127.0.0.1:27017",
    dbname:"chat"
}

目錄:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章