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();  /*关闭数据库*/
    })


})

 

posted @ 2019-05-20 22:18  littlecarzz  阅读(351)  评论(0编辑  收藏  举报