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 相关文章推荐
JS处理VBArray的函数使用说明
May 11 Javascript
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
Mar 25 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
Mar 20 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
Dec 26 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
May 24 Javascript
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
Sep 25 Javascript
用Vue.js在浏览器中实现裁剪图像功能
Jun 18 Javascript
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
vue跳转页面的几种方法(推荐)
Mar 26 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 Javascript
React如何使用axios请求数据并把数据渲染到组件
Aug 05 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 stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
php文件操作实例代码
2012/05/10 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
js中关于String对象的replace使用详解
2011/05/24 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
荷兰手表网站:Watch2Day
2018/07/02 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
24岁生日感言
2014/01/13 职场文书
yy司仪主持词
2014/03/22 职场文书
员工保密承诺书
2014/05/28 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
装修活动策划方案
2014/08/27 职场文书
2015年班干部工作总结
2015/04/29 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技