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服务器(8):非阻塞是如何实现的
Dec 18 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 NodeJs
Nodejs监听日志文件的变化的过程解析
Aug 04 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
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
DOM事件探秘篇
2017/02/15 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
Python中统计函数运行耗时的方法
2015/05/05 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
python制作微博图片爬取工具
2021/01/16 Python
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
全国道德模范事迹
2014/02/01 职场文书
幼师求职自荐信
2014/05/31 职场文书
小浪底导游词
2015/02/12 职场文书
营运督导岗位职责
2015/04/10 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
新闻报道稿范文
2015/07/23 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
MongoDB数据库的安装步骤
2021/06/18 MongoDB
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
使用HttpSessionListener监听器实战
2022/03/17 Java/Android
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL