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中SSL服务的性能
Jul 15 NodeJs
轻松创建nodejs服务器(8):非阻塞是如何实现的
Dec 18 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
Nodejs+Socket.io实现通讯实例代码
Feb 13 NodeJs
NodeJS处理Express中异步错误
Mar 26 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
使用npm安装最新版本nodejs
Jan 18 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 NodeJs
NodeJS配置CORS实现过程详解
Dec 02 NodeJs
浅谈JS和Nodejs中的事件驱动
May 05 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
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
Javascript实现秒表倒计时功能
2018/11/17 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
python网络编程学习笔记(四):域名系统
2014/06/09 Python
详细分析python3的reduce函数
2017/12/05 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
HTML5 Web 存储详解
2016/09/16 HTML / CSS
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
如何利用find命令查找文件
2015/02/07 面试题
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
元旦晚会邀请函
2014/02/01 职场文书
简历的自我评价范文
2014/02/04 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
工作总结与自我评价
2014/09/18 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
事业单位年度考核评语
2014/12/31 职场文书
领导干部考核评语
2015/01/04 职场文书
起诉状范本
2015/05/20 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis