返回介绍

十三、NodeJs 操作 MongoDb 数据库 数据的增加 修改 删除

发布于 2024-06-12 23:28:34 字数 2918 浏览 0 评论 0 收藏 0

13.1 在 Nodejs 中使用 Mongodb

前面的课程我们讲了用命令操作 MongoDB ,这里我们看下如何用 nodejs 来操作数据库

需要引包

npm install mongodb --save-dev / cnpm install mongodb --save-dev

13.2 Nodejs 连接 MongoDb 数据库

var express = require("express"); //数据库引用

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

app.listen(8020);

13.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
      });
    }
  });
})

13.4 Nodejs 给 MongoDb 增加数据

MongoClient.connect(dbUrl,
function(err, db) {
  if (err) {
    return
  }
  db.collection('user').insertOne({
    "name": name,
    "age": age,
    "score": {
      "shuxue": shuxuechengji,
      "yuwen": yuwenchengji
    }
  },
  function(err, result) {
    if (err) {
      console.log('写入数据失败');
    }
    //关闭数据库
    db.close();
    //res.redirect('/add'); res.redirect('/' ); /*路由跳转*/ res.end(); ////res.location('/add')
  })
})

13.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": {
      "shuxue": shuxue,
      "yuwen": yuwen
    }
  },
  function(err, results) {
    console.log(results);
    db.close();
    res.redirect('/');
    /*路由跳转*/
    res.end('end');
  })
})

13.6 Nodejs 删除 MongoDb 数据

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文