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学习笔记之Global Objects全局对象
Jan 13 NodeJs
浅析Nodejs npm常用命令
Jun 14 NodeJs
NodeJS基础API搭建服务器详细过程记录
Apr 01 NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 NodeJs
win系统下nodejs环境安装配置
May 04 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs使用redis作为缓存介质实现的封装缓存类示例
Feb 07 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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
生成sessionid和随机密码的例子
2006/10/09 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
javascript动画浅析
2012/08/30 Javascript
js数组的操作详解
2013/03/27 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
低版本中Python除法运算小技巧
2015/04/05 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python中的fileinput模块的简单实用示例
2015/07/09 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
python 性能提升的几种方法
2016/07/15 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
Nike瑞士官网:Nike CH
2021/01/18 全球购物
学校通报表扬范文
2015/05/04 职场文书
违规违纪检讨书范文
2015/05/06 职场文书