Node.js操作MongoDB数据库实例分析


Posted in Javascript onJanuary 19, 2020

本文实例讲述了Node.js操作MongoDB数据库。分享给大家供大家参考,具体如下:

Node.js操作MongoDB

npm init
npm i mongodb --save
{
 "name": "test",
 "version": "1.0.0",
 "description": "",
 "main": "app.js",
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC",
 "dependencies": {
  "mongodb": "^3.1.1"
 }
}

连接数据库

// connect.js
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'mydatabase';
// Use connect method to connect to the server
MongoClient.connect(url, { useNewUrlParser: true }, function(err, client) {
 console.log("Connected successfully to server");
 const db = client.db(dbName);
 client.close();
});

插入

// insert.js
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'mydatabase';
// 插入
var insertData = function (db, callback) {
 // 获取文档集合
 var collection = db.collection('collection3');
 var data = [{"name": "李二狗001", "age": 20}, {"name": "李二狗002", "age": 21}];
 // 插入文档
 collection.insert(data, function (err, result) {
  if(err) {
   console.log('Error: ' + err);
   return;
  }
  callback(result);
 })
}
// Use connect method to connect to the server
MongoClient.connect(url, { useNewUrlParser: true }, function(err, client) {
 console.log("Connected successfully to server");
 const db = client.db(dbName);
 insertData(db, function (result) {
  console.log(result);
  client.close();
 });
});

查询

// find.js
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'mydatabase';
// 查询
var findData = function (db, callback) {
 // 获取文档集合
 var collection = db.collection('collection3');
 var whereStr = {"name": "李二狗001"};
 // 查询文档
 collection.find(whereStr).toArray(function (err, result) {
  if(err) {
   console.log('Error: ' + err);
   return;
  }
  callback(result);
 })
}
// Use connect method to connect to the server
MongoClient.connect(url, { useNewUrlParser: true }, function(err, client) {
 console.log("Connected successfully to server");
 const db = client.db(dbName);
 findData(db, function (result) {
  console.log(result);
  client.close();
 })
});

修改

// update.js
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'mydatabase';
// 修改
var updateData = function (db, callback) {
 // 获取文档集合
 var collection = db.collection('collection3');
 var whereStr = {"name": "李二狗002"};
 var updateStr = {$set: {"age": 100}};
 // 修改文档
 collection.update(whereStr, updateStr, function (err, result) {
  if(err) {
   console.log('Error: ' + err);
   return;
  }
  callback(result);
 })
}
// Use connect method to connect to the server
MongoClient.connect(url, { useNewUrlParser: true }, function(err, client) {
 console.log("Connected successfully to server");
 const db = client.db(dbName);
 updateData(db, function (result) {
  console.log(result);
  client.close();
 })
});

删除

// delete.js
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'mydatabase';
// 删除
var delData = function (db, callback) {
 // 获取文档集合
 var collection = db.collection('collection3');
 var whereStr = {"name": "李二狗002"};
 // 删除文档
 collection.remove(whereStr, function (err, result) {
  if(err) {
   console.log('Error: ' + err);
   return;
  }
  callback(result);
 })
}
// Use connect method to connect to the server
MongoClient.connect(url, { useNewUrlParser: true }, function(err, client) {
 console.log("Connected successfully to server");
 const db = client.db(dbName);
  delData(db, function (result) {
  console.log(result);
  client.close();
 })
});

参考:

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

Javascript 相关文章推荐
用CSS+JS实现的进度条效果效果
Jun 05 Javascript
Google韩国首页图标动画效果
Aug 26 Javascript
ie 调试javascript的工具
Apr 29 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
Oct 12 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
Nov 26 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
Dec 08 Javascript
AngularJS封装$http.post()实例详解
May 06 Javascript
深入理解ES6 Promise 扩展always方法
Sep 26 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
Vue h函数的使用详解
Feb 18 Vue.js
JS运算符简单用法示例
Jan 19 #Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 #Javascript
JS基础之逻辑结构与循环操作示例
Jan 19 #Javascript
js实现图片上传到服务器和回显
Jan 19 #Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 #Javascript
ES6 Object.assign()的用法及其使用
Jan 18 #Javascript
vue项目中监听手机物理返回键的实现
Jan 18 #Javascript
You might like
php+mysql分页代码详解
2008/03/27 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
Laravel 队列使用的实现
2019/01/08 PHP
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
Python解析nginx日志文件
2015/05/11 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
python实现五子棋小游戏
2020/03/25 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Python数据可视化图实现过程详解
2020/06/12 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
优秀经理获奖感言
2014/03/04 职场文书
食品安全承诺书范文
2014/08/29 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
2016年母亲节广告语
2016/01/28 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python