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服务器(6):作出响应
Dec 18 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
nodejs简单实现操作arduino
Sep 25 NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 NodeJs
详解nodejs微信公众号开发——3.封装消息响应模块
Apr 10 NodeJs
使用Nodejs连接mongodb数据库的实现代码
Aug 21 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
Nodejs中怎么实现函数的串行执行
Mar 02 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
详解python之heapq模块及排序操作
2019/04/04 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
python中提高pip install速度
2020/02/14 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
用canvas显示验证码的实现
2020/04/10 HTML / CSS
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
如何唤起类中的一个方法
2013/11/29 面试题
大学军训感言400字
2014/03/11 职场文书
工作说明书范文
2014/05/07 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
工作失职自我检讨书
2015/05/05 职场文书
五年级语文教学反思
2016/03/03 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
java executor包参数处理功能 
2022/02/15 Java/Android
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers
Fluentd搭建日志收集服务
2022/09/23 Servers