• nodejs 对mongodb数据库的增加修删该查操作


    /**
    1.npm install mongodb --save-dev / cnpm install mongodb --save-dev
    
    2.var MongoClient = require('mongodb').MongoClient;
    
     var url = 'mongodb://localhost:27017/test';   连接数据库的地址
    
     3.连接数据库
    
     MongoClient.connect(url, function(err, db) {
    
    });
    
     4.实现增加修改删除
    
     MongoClient.connect(url, function(err, db) {
    
        db.collection('user').insertOne({'name':'zhangsan'},function(error,data){
    
        })
    
    });
    
    
     */
    var http=require('http');
    
    var ejs=require('ejs');
    
    var MongoClient = require('mongodb').MongoClient;  /*引入数据库 MongoClient*/
    
    var DBurl = 'mongodb://localhost:27017/userDb';  // 连接数据库的地址   student表示数据库的名称
    
    var url=require('url'); /*引入url模块*/
    var app=require('./model/express-route.js');
    
    http.createServer(app).listen(3000);
    
    
    app.get('/',function(req,res){
        var msg='这是数据库的数据'
        ejs.renderFile('views/index.ejs',{msg:msg},function(err,data){
            res.send(data);
        })
    
    })
    
    
    
    app.get('/add',function(req,res){
       //增加数据
    
        MongoClient.connect(DBurl,function(err,db){  /*连接数据库*/
    
            if(err){
    
                console.log(err);
                console.log('数据库连接失败');
                return;
            }
    
            //增加数据
    
            db.collection('user').insertOne({
    
                "name":"loaderman",
                "age":10
    
            },function(error,result){
                if(error){
    
                    console.log('增加数据失败');
                    return;
                }
                res.send('增加数据成功');
                db.close();/*关闭数据库*/
            })
    
    
    
        })
    })
    
    
    
    
    app.get('/edit',function(req,res){
        //增加数据
    
        //res.send('修改数据成功');
    
    
        MongoClient.connect(DBurl,function(err,db){
    
            if(err){
    
                console.log(err);
                console.log('数据库连接失败');
                return;
            }
            db.collection('user').updateOne({"name":"loaderman"},{$set:{
                "age":666
            }},function(error,data){
                if(error){
    
                    console.log('修改数据失败');
                    return;
                }
    
                console.log(data);
                res.send('修改数据成功');
                db.close();/*关闭数据库*/
    
            })
    
    
    
        })
    
    })
    
    
    app.get('/delete',function(req,res){
        //增加数据
        //delete?name=lisi
    
    
        //console.log(url.parse(req.url,true));
    
        var query=url.parse(req.url,true).query;
    
    
        //console.log(query.name);
    
        var name=query.name;
    
    
        MongoClient.connect(DBurl,function(err,db){
    
            if(err){
    
                console.log(err);
                console.log('数据库连接失败');
                return;
            }
    
            db.collection('user').deleteOne({"name":name},function(error,data){
    
                if(error){
    
                    console.log('删除失败');
                    return;
                }
    
                console.log(data);
                res.send('删除数据成功');
                db.close();
    
            })
        })
    })
    app.get('/query',function(req,res){
    MongoClient.connect(DBurl,function(err,db){
    if(err){

    console.log('连接数据库失败');
    return;
    }

    //查询数据
    var list=[]; /*放数据库里面查询的所有数据*/

    var result=db.collection('user').find({});


    result.each(function(error,doc){


    //console.log(doc);
    if(error){
    console.log(error);
    }else{

    if(doc!=null){
    list.push(doc);

    }else{ /*doc==null表示数据循环完成*/

    /*获取数据以后*/
    //console.log(list);

    ejs.renderFile('views/index.ejs',{list:list},function(err,data){

    res.send(data);
    })

    }

    }

    })

    //console.log(result);

    })

    })
     

     

  • 相关阅读:
    c# 得到 XML的节点值和属性值
    jquery 更改超链接
    row_number()得到中间的信息
    UML系统分析与设计03-软件需求分析说明书
    UML系统分析与设计02-用例图和活动图(下)
    从Klocwork中.net检测项说说代码书写
    WCF之诡异通讯超时
    《Beginning WF : Windows Workflow in .NET 4.0》读书笔记
    UML系统分析与设计01-准备
    UML系统分析与设计02-用例图和活动图(上)
  • 原文地址:https://www.cnblogs.com/loaderman/p/11505145.html
Copyright © 2020-2023  润新知