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 相关文章推荐
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
js对文章内容进行分页示例代码
Mar 05 Javascript
使用javascript获取页面名称
Dec 23 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
Jun 15 Javascript
jQuery中$.ajax()方法参数解析
Oct 22 Javascript
微信小程序  网络请求API详解
Oct 25 Javascript
javascript 判断用户有没有操作页面
Oct 17 Javascript
解决iView中时间控件选择的时间总是少一天的问题
Mar 15 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
Oct 30 Javascript
深入理解Vue.js轻量高效的前端组件化方案
Dec 10 Javascript
vue实现点击按钮下载文件功能
Oct 11 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) static
2006/12/13 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
PHP面向对象详解(三)
2015/12/07 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
Jquery 学习笔记(一)
2009/10/13 Javascript
图像替换新技术 状态域方法
2010/01/28 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
elementui的默认样式修改方法
2018/02/23 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
对Python w和w+权限的区别详解
2019/01/23 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python3中eval函数用法使用简介
2019/08/02 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
简短大学毕业感言
2014/01/18 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
道德模范事迹材料
2014/12/20 职场文书
六一儿童节开幕词
2015/01/29 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL