nodejs连接mongoDb数据库得具体操作---增删改查

/*
1.安装数据库mongodb 在该项目文件夹下输入npm install mongodb --save即可
2.  var MongoClient= require('mongodb').MongoClient;//引入MongoClient
    var assert = require('assert');//用来进行模块调试的
    var objectId =  require('mongodb').ObjectID;//根据id进行修改数据的
    var url='mongodb://127.0.0.1:27017/test';//定义连接数据库的地址
3.链接数据库
    MongoClient.connect(url,function (err,db){

    })
 4.实现增删改查
  MongoClient.connect(url,function (err,db){
  //插入一条数据user为表名
    db.collection('user).insert({“name":"zhangshan"},function(error,data){
    }
    })
 */
var http = require('http');
var ejs = require('ejs');//渲染模板
var app=require('./model/express-route');
var url=require('url');
var MongoClient= require('mongodb').MongoClient;//引入MongoClient
var dburl='mongodb://127.0.0.1:27017/itying';  //定义连接数据库的地址,启动数据库可查看,itying为数据库名称
//封装express路由======================================================
http.createServer(app).listen(8019);
//注册一个get方法,调用封装好的express-route.js中已经暴露出的app.get()方法
//数据库查询----------------------------------------数据库查询数据find()
app.get('/',function (req,res) {
   MongoClient.connect(dburl,function (err,client) {
       if(err){
           console.log(err);
           console.log('数据库链接失败');
           return
       }
       var db=client.db("itying");
       var result = db.collection('user').find({});//{}中可以是条件,拿到想要的数据,但是特别乱,需要进行遍历,找到自己想要的数据
       console.log(result);
       result.forEach(function (error,doc) {//通过,因为版本问题each不可用,只能用forEach对书库数据进行遍历
           if(error){
               console.log(error);
           }else {
               var list=new Array();
               if(doc!=null){
                   list.push(doc);
               }else{//doc==null表示数据循环完成
                   console.log(list);
                   client.close();
                   res.send(list);//通过封装好的路由进行调用
               }
           }
       })
   })

})
//数据库操作-------------------增加insertOne
app.get('/add',function (req,res) {
    //增加数据,url为定义好的路径
    //mongoose.connect('mongodb://user:[email protected]:port/dbname', { useNewUrlParser: true })
    MongoClient.connect(dburl,function (err,client){
        var db=client.db("itying");
        if(err){
           console.log(err);
           console.log("数据库连接失败");
           return
        }
        //user为表名
        db.collection('user').insertOne({
            "name":"yhttt",//插入的数据,以map形式进行追加
            "age":2220
        },function (error,result) {
            if(error){
                console.log("user表数据插入失败!!!!!!!!!");
                return
            }
                res.send('user表数据插入成功!!!!!!!!!');
                client.close();

        })
    })
})


//数据库操作-------------------修改updateOne
app.get('/edit',function (req,res) {
    MongoClient.connect(dburl,function (err,client) {
        var db=client.db("itying");
        if(err){
            console.log("数据库连接失败");
            return
        }
        db.collection('user').updateOne({"name":"biak1"},{$set:{
            "age":40
        }},function (error,data) {
            if(error){
                console.log("user表数据修改失败!!!!!!!!!");
                return
            }
            res.send('user表数据修改成功!!!!!!!!!');
            client.close();
        })

    })
})
//数据库操作-------------------删除deleteOne
app.get('/delete',function (req,res) {
    console.log(url);
    //delete?name=biak1
    //获取参数query.name
    var query=url.parse(req.url,true).query;
    var name=query.name;
    MongoClient.connect(dburl,function (err,client) {
        var db=client.db("itying");//获取数据名
        if(err){
            console.log("数据库连接失败");
            return
        }
        db.collection('user').deleteOne({"name":name},function (error,data) {
            if(error){
                console.log("user表数据删除失败!!!!!!!!!");
                return
            }
            console.log(data);
            res.send('user表数据删除成功!!!!!!!!!');
            client.close();
        })

    })
})

猜你喜欢

转载自blog.csdn.net/sunshineboysy/article/details/88168909