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 相关文章推荐
JavaScript 学习笔记(十五)
Jan 28 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
JS实现DIV容器赋值的方法
Dec 14 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
Angular2开发——组件规划篇
Mar 28 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
Jul 07 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
Aug 31 Javascript
微信小程序登录换取token的教程
May 31 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
Dec 05 Javascript
JavaScript对象的特性与实践应用深入详解
Dec 30 Javascript
java和js实现的洗牌小程序
Sep 30 Javascript
js实现拾色器插件(ColorPicker)
May 21 Javascript
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版(5)
2006/10/09 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
js中url对象化管理分析
2017/12/29 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
python求众数问题实例
2014/09/26 Python
Python制作爬虫抓取美女图
2016/01/20 Python
python实现归并排序算法
2018/11/22 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
护理学专业推荐信
2013/12/03 职场文书
七一讲话心得体会
2014/09/05 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
2014年组织部工作总结
2014/11/14 职场文书
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android