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之请求路由概述
Jul 05 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
详解nodejs爬虫程序解决gbk等中文编码问题
Apr 06 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
原生nodejs使用websocket代码分享
Apr 07 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
Aug 02 NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
js获取变量
2006/08/24 Javascript
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python制作刷网页流量工具
2017/04/23 Python
Sanic框架应用部署方法详解
2018/07/18 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
村长贪污检举信
2014/04/04 职场文书
开工仪式策划方案
2014/05/23 职场文书
银行金融服务方案
2014/06/11 职场文书
爱护公共设施演讲稿
2014/09/13 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
2015年英语教学工作总结
2015/05/25 职场文书