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 整合kindEditor实现图片上传
Feb 03 NodeJs
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
使用nodejs开发cli项目实例
Jun 03 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
nodejs服务搭建教程 nodejs访问本地站点文件
Apr 07 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 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 版本]
2007/03/20 PHP
php 用sock技术发送邮件的函数
2007/07/21 PHP
实用函数4
2007/11/08 PHP
php设置编码格式的方法
2013/03/05 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python实现随机漫步方法和原理
2019/06/10 Python
pandas DataFrame运算的实现
2020/06/14 Python
详解python 内存优化
2020/08/17 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
党员创先争优公开承诺书
2014/03/28 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书
任命书格式范文
2015/09/22 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
实操Python爬取觅知网素材图片示例
2021/11/27 Python
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记