nodejs连接mongodb数据库实现增删改查


Posted in NodeJs onDecember 01, 2016

准备

1.通过npm命令安装mongodb

2.安装mongodb数据库,这里不详细介绍了,安装网址:https://3water.com/article/82522.htm

CRUD操作

在此之前应对MongoDB数据库有所了解,知道它的一些增删查改命令。

1.增加

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

function insertData(db)
{
  var devices = db.collection('vip');
  var data = {"name":"node","age":22,"addr":"nb","addTime":new Date()};
  devices.insert(data,function(error, result){
    if(error)
    {
      console.log('Error:'+ error);
    }else{

      console.log(result.result.n);
    }
    db.close();
  });
}

 
MongoClient.connect(DB_URL, function(error, db){
  console.log('连接成功!');
  insertData(db);
});

2.查找

var mongodb = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/chm'; 

var selectData = function(db, callback) { 
 //连接到表 
 var collection = db.collection('vip');
 //查询数据
 var whereStr = {"name":'node'};
 collection.find(whereStr,function(error, cursor){
  cursor.each(function(error,doc){
    if(doc){
      //console.log(doc);
      if (doc.addTime) {
        console.log("addTime: "+doc.addTime);
      }
    }
  });

 });

}

MongoClient.connect(DB_CONN_STR, function(err, db) {
 console.log("连接成功!");
 selectData(db, function(result) {
  console.log(result);
  db.close();
 });
});

3.更新

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error, db){
  console.log("连接成功!");
  updateData(db);
});

function updateData(db)
{
  var devices = db.collection('vip');
  var whereData = {"name":"node"}
  var updateDat = {$set: {"age":26}}; //如果不用$set,替换整条数据
  devices.update(whereData, updateDat, function(error, result){
    if (error) {
      console.log('Error:'+ error);
    }else{
      console.log(result);
    }
    db.close();
  });
}

4.删除

var MongoClient = require('mongodb').MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error, db){
  console.log("连接成功");
  deleteData(db);
});

function deleteData(db)
{
  var devices = db.collection('vip');
  var data = {"name":"node"};
  devices.remove(data, function(error, result){
    if (error) {
      console.log('Error:'+ error);
    }else{
      console.log(result.result.n);
    }
    db.close();
  })
}

存储过程

在mongodb中创建存储过程

所有存储过程都存放在db.system.js中,通过db.eval(“存储过程ID()”);调用存储过程。

在代码中调用:

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error,db){
  console.log("连接成功!");
  callProcess(db)
});

function callProcess(db)
{
  db.eval("get_vip_count()",function(error, result){
    if (error) {
      console.log(error);
    }else{
      console.log("count:"+result);
    }
    db.close();
  });
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJS远程代码执行
Aug 28 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
nodejs之get/post请求的几种方式小结
Jul 26 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
Aug 20 NodeJs
Nodejs 搭建简单的Web服务器详解及实例
Nov 30 #NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 #NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 #NodeJs
Nodejs进阶:基于express+multer的文件上传实例
Nov 21 #NodeJs
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
Nov 21 #NodeJs
Nodejs下DNS缓存问题浅析
Nov 16 #NodeJs
NodeJS中的MongoDB快速入门详细教程
Nov 11 #NodeJs
You might like
基于mysql的论坛(3)
2006/10/09 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
Python可变参数用法实例分析
2017/04/02 Python
解读python logging模块的使用方法
2018/04/17 Python
Php多进程实现代码
2018/05/07 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
django基于restframework的CBV封装详解
2019/08/08 Python
Python:slice与indices的用法
2019/11/25 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
python批量生成条形码的示例
2020/10/10 Python
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
招聘单位介绍信
2014/01/14 职场文书
小学校本培训方案
2014/06/06 职场文书
计划生育标语
2014/06/23 职场文书
社区助残日活动总结
2014/08/29 职场文书
2014年工程工作总结
2014/11/25 职场文书
2014年度培训工作总结
2014/11/27 职场文书
师德承诺书2015
2015/04/28 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书