MongoDB学习day04--NodeJs操作数据库增删改查

一、在Nodejs中使用Mongodb

 Nodejs需要引入的包

npm install mongodb --save -dev 或者使用镜像 cnpm install mongodb --save -dev

Mongodb官网的学习地址:
https://docs.mongodb.com/getting-started/node/introduction/

http://mongodb.github.io/node-mongodb-native/2.2/quick-start/quick-start/

二、Nodejs连接Mongodb数据库

 1 var express = require("express");
 2 //数据库引用
 3 var MongoClient = require('mongodb').MongoClient;
 4 var app = express();
 5 //数据库连接的地址,最后的斜杠表示数据库名字
 6 var shujukuURL = 'mongodb://localhost:27017/news';
 7 app.get("/",function(req,res){
 8 //连接数据库,这是一个异步的操作
 9 MongoClient.connect(shujukuURL, function(err, db) {
10 res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
11 if(err){
12 res.send("数据库连接失败");
13 return;
14 }
15 res.write("恭喜,数据库已经成功连接 \n");
16 db.collection("user").insertOne({"name":"哈哈"},function(err,result){
17 if(err){
18 res.send("数据库写入失败");
19 return;
20 }
21 res.write("恭喜,数据已经成功插入");
22 res.end();
23 //关闭数据库
24 db.close();
25 });
26 });
27 });
28 app.listen(8020);

三、Nodejs查找Mongodb数据库集合

 1 MongoClient.connect(dbUrl,function(err,db){
 2 if(err){ /*数据库连接失败*/
 3 console.log('数据库连接失败');
 4 return;
 5 }
 6 var result=[];
 7 var userRel=db.collection('user').find();
 8 //res.send(userRel);
 9 userRel.each(function(err, doc) {
10 if(err){
11 res.write("游标遍历错误");
12 return;
13 }
14 if (doc != null) {
15 result.push(doc);
16 } else {
17 console.log(result);
18 //遍历完毕
19 db.close();
20 res.render("index",{
21 "result" : result
22 });
23 }
24 });
25 })

四、Nodejs给Mongodb增加数据

 1 MongoClient.connect(dbUrl,function(err,db){
 2 if(err){
 3 return
 4 }
 5 db.collection('user').insertOne({
 6 "name" : name,
 7 "age" : age,
 8 "score" : {
 9 "shuxue" : shuxuechengji,
10 "yuwen" : yuwenchengji
11 }
12 },function(err,result){
13 if(err){
14 console.log('写入数据失败');
15 }
16 //关闭数据库
17 db.close();
18 //res.redirect('/add');
19 res.redirect('/'); /*路由跳转*/
20 res.end();
21 ////res.location('/add')
22 })
23 })

五、Nodejs修改Mongodb数据

 1 MongoClient.connect(dbUrl,function(err,db){
 2 if(err){
 3 console.log('数据库连接错误');
 4 return;
 5 }
 6 db.collection('user').updateOne({"_id":ObjectID(id)}, {
 7 "name": name,
 8 "age": age,
 9 "score": {"shuxue": shuxue,
10 "yuwen": yuwen
11 }
12 },function (err, results) {
13 console.log(results);
14 db.close();
15 res.redirect('/'); /*路由跳转*/
16 res.end('end');
17 })
18 })

六、Nodejs删除Mongodb数据

 1 MongoClient.connect(dbUrl,function(err,db){
 2 if(err){
 3 throw new Error("数据库连接失败");
 4 return;
 5 }
 6 db.collection('user').deleteOne({"_id":ObjectID(id)},function(error,result){
 7 if(error)
 8 {
 9 throw new Error('删除数据失败');
10 return;
11 }
12 db.close();
13 res.redirect('/'); /*路由跳转*/
14 })
15 })

猜你喜欢

转载自www.cnblogs.com/xc-chejj/p/10896936.html