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(二)--- Node.js事件模块
May 21 NodeJs
基于promise.js实现nodejs的promises库
Jul 06 NodeJs
Nodejs实现的一个简单udp广播服务器、客户端
Sep 25 NodeJs
nodejs开发环境配置与使用
Nov 17 NodeJs
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
Dec 18 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
nodejs实现获取当前url地址及url各种参数值
Jun 25 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
Nodejs模块载入运行原理
Feb 23 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
取numpy数组的某几行某几列方法
2018/04/03 Python
python 中xpath爬虫实例详解
2019/08/26 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
python 如何引入协程和原理分析
2020/11/30 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
2014年作风建设心得体会
2014/10/22 职场文书
夫妻吵架保证书
2015/05/08 职场文书
运动会新闻报道稿
2015/07/22 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python