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 的 c++ module 链接到 OpenSSL
Aug 03 NodeJs
NodeJs基本语法和类型
Feb 13 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
nodejs接入阿里大鱼短信验证码的方法
Jul 10 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 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
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
原生JS轮播图插件
2017/02/09 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python通过poll实现异步IO的方法
2015/06/04 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
人力资源管理专业自荐信
2014/06/24 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
交通事故委托书范本
2014/09/28 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python
java开发双人五子棋游戏
2022/05/06 Java/Android
服务器间如何实现文件共享
2022/05/20 Servers