nodeJs操作MongoDB数据库

MongoDB数据库操作简单,使用方便,对于数据的操作十分方便,查询的数据也是能够很好地实现前后端的数据传输。
1、导入操作MongoDB数据库的模块,再利用MongoDB数据库操作有promise的特性,将对于数据库的操作封装成一个函数

function mongo() {
    var mongoDB = require("mongodb").MongoClient;
    var mongoUrl = "mongodb://localhost:27017/";
    return new Promise((resolve, reject) => {
        mongoDB.connect(mongoUrl, { useUnifiedTopology: true }, (err, db) => {
            if (!err) {
                resolve(db)
            } else {
                reject(err);
            }
        })
    })
}

2、nodeJs开启服务,开始操作MongoDB数据库

const http = require("http");
const queruStr = require("querystring");
const dbUrl = require("url");
const server = http.createServer(async (req, res) => {
    var { pathname, query } = dbUrl.parse(req.url);
    res.writeHead(200, {
        "Content-Type": "text/html;charset=utf-8"
    })
    var db = await mongo();
    var dbo = db.db("users");
    var obj = {}
    switch (pathname) {
        case "/add":
            var myobj = queruStr.parse(query);
            var { result: { n } } = await dbo.collection("site").insertOne(myobj);
            if (n) {
                obj = {
                    code: n,
                    data: true,
                }
            }
            break;
        case "/select":
            var whereStr = queruStr.parse(query);
            var result = await dbo.collection("site").find(whereStr).toArray();
            if (result.length) {
                obj = {
                    code: result.length,
                    data: true,
                }
            }
            break;
        case "/del":
            var myobj = queruStr.parse(query);
            var { result: { n } } = await dbo.collection("site").deleteOne(myobj);
            if (n) {
                obj = {
                    code: n,
                    data: true,
                }
            }
            break;
        case "/update":
            var {user,pass} = queruStr.parse(query);
            var myobj = {"user":user};
            var updateStr = {$set: { "pass" : pass }};
            var { result: { n } } = await dbo.collection("site").updateMany(myobj,updateStr);
            if (n) {
                obj = {
                    code: n,
                    data: true,
                }
            }
            break;
    }
    db.close();
    res.end(JSON.stringify(obj))
});
server.listen(10010, () => {
    console.log("服务启动:post:10010")
})

对于操作MongoDB数据库的一些增删改查方法具体可以参考我之前的一篇博客MongoDB数据库常用操作(增、删、改、查)

猜你喜欢

转载自blog.csdn.net/qq_40375518/article/details/107521438