Node.js连接mongodb实例代码


Posted in Javascript onJune 06, 2017

前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容。

安装驱动

安装命令

cnpm install mongodb

安装成功

Node.js连接mongodb实例代码

数据库操作

因为mongodb是文档类型的数据库,与mysql有很大不同,mongodb会自动创建数据库和集合,并不需要提前进行手动创建。

Insert

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
var insertData = function (db, callback) {
  //连接数据表my_firsrt_collection
  var collection = db.collection("my_firsrt_collection");
  var data = [{ "name": "wolfy1", "age": 20 }, { "name": "wolfy2", "age": 20 }]
  collection.insert(data, function (err, result) {
    if (err) {
      console.log("error:" + err);
      return;
    };
    callback(result);
  });
};
 MongoClient.connect(DB_CONN_STR, function (err, db) {
    if (err) {
      console.log("连接失败:" + err);
      return;
    };
    console.log("连接成功");
    insertData(db,function(result){
      console.log(result);
      db.close();
    });
  });

结果

Node.js连接mongodb实例代码

Node.js连接mongodb实例代码

查询数据

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
 //查询 var queryData = function (db, callback) { //连接数据表my_firsrt_collection 
var collection = db.collection("my_firsrt_collection"); //查询条件 var where = { "name": "wolfy1" };
 collection.find(where).toArray(function (err, result) { if (err) { console.log("error:" + err); return; }; 
callback(result); }); };
 MongoClient.connect(DB_CONN_STR, function (err, db) { 
if (err) {
 console.log("连接失败:" + err);
 return; 
}; 
console.log("连接成功");
 queryData(db, function (result) { console.log(result); db.close(); }); });

结果

Node.js连接mongodb实例代码

更新数据

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//查询
var updateData = function (db, callback) {
  //连接数据表my_firsrt_collection
  var collection = db.collection("my_firsrt_collection");
  //查询条件
  var where = { "name": "wolfy1" };
  var updateStr={$set:{"address":"http://www.cnblogs.com/wolf-sun/"}};
  collection.update(where,updateStr,function (err, result) {
    if (err) {
      console.log("error:" + err);
      return;
    };
    callback(result);
  });
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
  if (err) {
    console.log("连接失败:" + err);
    return;
  };
  console.log("连接成功");
  updateData(db, function (result) {
    console.log(result);
    db.close();
  });
});

结果

Node.js连接mongodb实例代码

删除数据

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//删除
var deleteData = function (db, callback) {
  //连接数据表my_firsrt_collection
  var collection = db.collection("my_firsrt_collection");
  //查询条件
  var where = { "name": "wolfy1" };
  collection.remove(where, function (err, result) {
    if (err) {
      console.log("error:" + err);
      return;
    };
    callback(result);
  });
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
  if (err) {
    console.log("连接失败:" + err);
    return;
  };
  console.log("连接成功");
  deleteData(db, function (result) {
    console.log(result);
    db.close();
  });
});

结果

Node.js连接mongodb实例代码

总结

到这里就简单实现了node.js操作mongodb的实例。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript_02_理解undefined和null
Oct 11 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
jquery插件推荐浏览器嗅探userAgent
Nov 09 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
jQuery的几个我们必须了解的特点
May 03 Javascript
AngularJS学习笔记之ng-options指令
Jun 16 Javascript
Js动态设置rem来实现移动端字体的自适应代码
Oct 14 Javascript
canvas雪花效果核心代码分享
Feb 19 Javascript
js 获取图像缩放后的实际宽高,位置等信息
Mar 07 Javascript
详解vue+vueRouter+webpack的简单实例
Jun 17 Javascript
jQuery实现checkbox的简单操作
Nov 18 jQuery
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
jquery实现图片放大点击切换
Jun 06 #jQuery
AngularJS 验证码60秒倒计时功能的实现
Jun 05 #Javascript
AngularJS 支付倒计时功能实现思路
Jun 05 #Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
Jun 05 #Javascript
Vue2.0实现购物车功能
Jun 05 #Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 #Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 #Javascript
You might like
php中的时间处理
2006/10/09 PHP
php 过滤危险html代码
2009/06/29 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python验证身份证信息实例代码
2019/05/06 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
研讨会主持词
2014/04/02 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
校长师德表现自我评价
2015/03/05 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
python实现语音常用度量方法的代码详解
2021/05/25 Python