Nodejs实现的操作MongoDB数据库功能完整示例


Posted in NodeJs onFebruary 02, 2019

本文实例讲述了Nodejs实现的操作MongoDB数据库功能。分享给大家供大家参考,具体如下:

mongodb_demo.js

/**
cnpm install mongodb
 */
var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://test:123456@127.0.0.1:27017/test'; // 数据库为 test
var insertData = function (db, callback) {
  //连接到表 site
  var collection = db.collection('site');
  //插入数据
  var data = [{ "name": "网站1", "url": "www.test1.com" }, { "name": "网站2", "url": "www.test2.com" }];
  collection.insert(data, function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
var selectData = function (db, callback) {
  //连接到表
  var collection = db.collection('site');
  //查询数据
  var whereStr = { "name": '网站1' };
  collection.find(whereStr).toArray(function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
var updateData = function (db, callback) {
  //连接到表
  var collection = db.collection('site');
  //更新数据
  var whereStr = { "name": '网站1' };
  var updateStr = { $set: { "url": "https://www.test1.com" } };
  collection.update(whereStr, updateStr, function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
var delData = function (db, callback) {
  //连接到表
  var collection = db.collection('site');
  //删除数据
  var whereStr = { "name": '网站1' };
  collection.remove(whereStr, 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("连接成功!");
  //1、插入
  insertData(db, function (result) {
    console.log(result);
    db.close();
  });
  //2、查询数据
  selectData(db, function (result) {
    console.log(result);
    db.close();
  });
  //3、更新数据
  updateData(db, function (result) {
    console.log(result);
    db.close();
  });
  //4、删除数据
  delData(db, function (result) {
    console.log(result);
    db.close();
  });
});

运行:

node mongodb_demo.js

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
Nodejs学习笔记之入门篇
Apr 16 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
Aug 02 NodeJs
node快速搭建后台的实现步骤
Feb 18 NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 #NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 #NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 #NodeJs
nodeJS进程管理器pm2的使用
Jan 09 #NodeJs
NodeJS模块与ES6模块系统语法及注意点详解
Jan 04 #NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 #NodeJs
详解nodejs 配置文件处理方案
Jan 02 #NodeJs
You might like
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
php控制文件下载速度的方法
2015/03/24 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
jQuery事件用法详解
2016/10/06 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
JS实现分页导航效果
2020/02/19 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Python编程中time模块的一些关键用法解析
2016/01/19 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
python字典操作实例详解
2017/11/16 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python 获取项目根路径的代码
2019/09/27 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
历史学专业个人的自我评价
2013/10/13 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
军训后的感想
2015/08/07 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis
python中filter,map,reduce的作用
2022/06/10 Python