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下打包模块archiver详解
Dec 03 NodeJs
NodeJS学习笔记之MongoDB模块
Jan 13 NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
nodejs操作mysql实现增删改查的实例
May 28 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
网页上facebook分享功能具体实现
2014/01/26 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
python处理PHP数组文本文件实例
2014/09/18 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python psutil模块使用方法解析
2019/08/01 Python
python银行系统实现源码
2019/10/25 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
天坛导游词
2015/02/02 职场文书
护士节慰问信
2015/02/15 职场文书
新学期开学标语2015
2015/07/16 职场文书
高一军训口号
2015/12/25 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis