nodejs对mongodb数据库的增加修删该查实例代码


Posted in NodeJs onJanuary 05, 2020

以下是实例代码:

/**
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);

  })

})

插入数据

/**
 * 插入单条数据
 * @param table_name 表名
 * @param insertData 插入的数据
 * @param callback 回调方法
 */
MongoDbAction.insertData= function (table_name, insertData , callback) {
  var node_model = this.getConnection(table_name);
  node_model.insertOne(insertData , function (err, res) {
    if (err) {
      callback(err);
    } else {
      callback(null, res);
    }
  });
};

查询数据

/**
 * 查询单条数据
 * @param table_name 表名
 * @param conditions 查询条件
 * @param callback 回调方法
 */
MongoDbAction.findOne = function (table_name, conditions, callback) {
  var node_model = this.getConnection(table_name);
  node_model.findOne(conditions, function (err, res) {
    if (err) {
      callback(err);
    } else {
      callback(null, res);
    }
  });
};

更新数据

/**
 * 更新单条数据
 * @param table_name 表名
 * @param conditions 查询条件 {"name":'jackson影琪'}; 
 * @param updateStr 更新数据 {$set: { "url" : "https://www.cnblogs.com/jackson-zhangjiang" }};
 * @param callback 回调方法
 */
MongoDbAction.updateOne= function (table_name, conditions,updateStr , callback) {
  var node_model = this.getConnection(table_name);
  node_model.updateOne(conditions,updateStr, function (err, res) {
    if (err) {
      callback(err);
    } else {
      callback(null, res);
    }
  });
};

以上就是本次介绍的全部相关知识点,感谢大家的学习。如果有任何补充,可以联系小编。

NodeJs 相关文章推荐
nodejs中使用多线程编程的方法实例
Mar 24 NodeJs
详解如何在NodeJS项目中优雅的使用ES6
Apr 22 NodeJs
nodeJS实现路由功能实例代码
Jun 08 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
nodeJS微信分享
Dec 20 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
nodejs高大上的部署方式(PM2)
Sep 11 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
nodejs分离html文件里面的js和css的方法
Apr 09 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 NodeJs
nodejs开发一个最简单的web服务器实例讲解
Jan 02 #NodeJs
nodejs环境使用Typeorm连接查询Oracle数据
Dec 05 #NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 #NodeJs
NodeJS实现一个聊天室功能
Nov 25 #NodeJs
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
Nov 18 #NodeJs
NodeJs crypto加密制作token的实现代码
Nov 15 #NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 #NodeJs
You might like
一个PHP分页类的代码
2011/05/18 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
Yii全局函数用法示例
2017/01/22 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
python实现多线程端口扫描
2019/08/31 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
高三生物教学反思
2014/01/25 职场文书
医校毕业生自我鉴定
2014/01/25 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
导游词之江西赣州
2019/10/15 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js