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 npm包管理的配置方法及常用命令介绍
Jun 05 NodeJs
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
Nodejs中 npm常用命令详解
Jul 04 NodeJs
NodeJS处理Express中异步错误
Mar 26 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
详解使用nodeJs安装Vue-cli
May 17 NodeJs
深入解析nodejs HTTP服务
Jul 25 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
Nodejs实现用户注册功能
Apr 14 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php 前一天或后一天的日期
2008/06/28 PHP
跟我学Laravel之视图 & Response
2014/10/15 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
前端微信支付js代码
2016/07/25 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
Python 的AES加密与解密实现
2019/07/09 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
房地产管理毕业生自荐信
2013/11/04 职场文书
数控技术应届生求职信
2013/11/13 职场文书
医院门卫岗位职责
2013/12/30 职场文书
中专自我鉴定
2014/02/05 职场文书
教师批评与自我批评
2014/10/15 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
浅谈python中的多态
2021/06/15 Python