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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
Nodejs关于gzip/deflate压缩详解
Mar 04 NodeJs
nodejs中使用多线程编程的方法实例
Mar 24 NodeJs
nodejs开发微博实例
Mar 25 NodeJs
nodejs中模块定义实例详解
Mar 18 NodeJs
NodeJS基础API搭建服务器详细过程记录
Apr 01 NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
Dec 14 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
短波问题解答
2021/02/28 无线电
PHP调用三种数据库的方法(1)
2006/10/09 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
ucenter通信原理分析
2015/01/09 PHP
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
跟老齐学Python之一个免费的实验室
2014/09/14 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
最新大学生创业计划书写作攻略
2014/04/02 职场文书
社区活动总结报告
2014/05/05 职场文书
租房协议书范文
2014/08/20 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
Python IO文件管理的具体使用
2022/03/20 Python
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL