04-Nodejs 实现MongoDB增加修改删除

1,374 阅读1分钟

1、在 Nodejs中操作 Mongodb

  • nodejs来操作数据库,则需要安装一个 mongodb 的包
npm install mongodb

2、Nodejs连接MongoDb数据库

var express = require("express");
//数据库引用
var MongoClient = require('mongodb').MongoClient;
var app = express();
//数据库连接的地址,最后的斜杠表示数据库名字
var dbUrl = 'mongodb://localhost:27017/cms';
app.get("/",
function(req, res) {
    //连接数据库,这是一个异步的操作
    MongoClient.connect(dbUrl,
    function(err, db) {
        res.writeHead(200, {
            "Content-Type": "text/html;charset=UTF8"
        });
        if (err) {
            res.send("数据库连接失败");
            return;
        }
        res.write("恭喜,数据库已经成功连接  \n");
        db.collection("user").insertOne({
            "name": "gogery"
        },
        function(err, result) {
            if (err) {
                res.send("数据库写入失败");
                return;
            }
            res.write("恭喜,数据已经成功插入");
            res.end();
            //关闭数据库
            db.close();
        });
    });
});
app.listen(8020);

3、Nodejs查找MongoDb数据库集合

MongoClient.connect(dbUrl,
function(err, db) {
    if (err) {
        /*数据库连接失败*/
        console.log('数据库连接失败');
        return;
    }
    var result = [];
    var userRel = db.collection('user').find();
    //res.send(userRel);
    userRel.each(function(err, doc) {
        if (err) {
            res.write("错误");
            return;
        }
        if (doc != null) {
            result.push(doc);
        } else {
            console.log(result);
            //遍历完毕
            db.close();
            res.render("index", {
                "result": result
            });
        }
    });
})

4、Nodejs给MongoDb增加数据

MongoClient.connect(dbUrl,
function(err, db) {
    if (err) {
        return
    }
    db.collection('user').insertOne({
        "name": name,
        "age": age,
        "score": {
            "math": 98,
            "yw": 90
        }
    },
    function(err, result) {
        if (err) {
            console.log('写入数据失败');
        }
        //关闭数据库
        db.close();

        res.redirect('/');
        res.end();
        /*路由跳转*/
        //res.location('/add')
    })
})

5、Nodejs修改MongoDb数据

MongoClient.connect(dbUrl, function(err, db) {
    if (err) {
        console.log('数据库连接错误');
        return;
    }
    db.collection('user').updateOne({
        "_id": ObjectID(id)
    },
    {
        "name": name,
        "age": age,
        "score": {

            "math": 80,
            "yw": 90
        }
    },
    function(err, results) {
        console.log(results);
        db.close();
        res.redirect('/');
        /*路由跳转*/
        res.end('end');
    })
})

6、Nodejs删除MongoDb数据

MongoClient.connect(dbUrl,
function(err, db) {
    if (err) {
        throw new Error("数据库连接失败");
        return;
    }
    db.collection('user').deleteOne({
        "_id": ObjectID(id)
    },
    function(error, result) {
        if (error) {
            throw new Error('删除数据失败');
            return;
        }
        db.close();
        res.redirect('/');
        /*路由跳转*/
    })
})