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的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
Nodejs学习笔记之Stream模块
Jan 13 NodeJs
nodejs初步体验篇
Nov 23 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
nodejs socket服务端和客户端简单通信功能
Sep 14 NodeJs
nodejs初始化init的示例代码
Oct 10 NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 NodeJs
NodeJS实现一个聊天室功能
Nov 25 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的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
JS动画效果代码3
2008/04/03 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
vue-music关于Player播放器组件详解
2017/11/28 Javascript
微信小程序控制台提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解决方法
2019/02/21 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
Python实现的计算器功能示例
2018/04/26 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
护理专业毕业生推荐信
2013/10/31 职场文书
论文指导教师评语
2014/04/28 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
公安学专业求职信
2014/07/27 职场文书
工程承包协议书范本
2014/09/29 职场文书
离婚协议书范本2014
2014/10/27 职场文书
租车协议书范本2014
2014/11/17 职场文书
售票员岗位职责
2015/02/15 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
学校远程教育工作总结
2015/08/11 职场文书