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 })
七、Nodejs操作Mongodb3.x数据库方法
//http://mongodb.github.io/node-mongodb-native/3.0/quick-start/quick-start/ /* nodejs操作mongodb数据库 1.安装mongodb、 cnpm install mongodb --save 2.引入mongodb下面的MongoClient var MongoClient = require('mongodb').MongoClient; 3.定义数据库连接的地址 以及配置数据库 qianfeng数据库的名称 var url = 'mongodb://localhost:27017/'; var dbName = 'shop' 4.nodejs连接数据库 MongoClient.connect(url,function(err,client){ const db = client.db(dbName); 数据库db对象 }) 5.操作数据库 MongoClient.connect(url,function(err,client){ const db = client.db(dbName); 数据库db对象 MongoClient.connect(url,function(err,db){ db.collection('user').insertOne({"name":"张三"},function(err,result){ db.close() //关闭连接 }) }) }) */ var MongoClient = require('mongodb').MongoClient; //定义连接数据库的地址 const url = 'mongodb://localhost:27017/'; var dbName = 'shop' //连接数据库 MongoClient.connect(url,(err,client)=>{ if(err){ console.log('数据连接失败'); return false; } let db=client.db(dbName); /*获取db对象*/ db.collection("admin").insertOne({"name":"mongodb3.0","age":10},function(err){ if(err){ console.log('增加失败'); return false; } console.log('增加成功'); client.close(); /*关闭数据库*/ }) })