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实现的一个include函数
Jul 21 Javascript
用javascript实现点击链接弹出"图片另存为"而不是直接打开
Aug 15 Javascript
不懂JavaScript应该怎样学
Apr 16 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
Aug 31 Javascript
js使用cookie记录用户名的方法
Nov 26 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 Javascript
详解在AngularJS的controller外部直接获取$scope
Jun 02 Javascript
JS实现面向对象继承的5种方式分析
Jul 21 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
vue v-model的用法解析
Oct 19 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获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
php多任务程序实例解析
2014/07/19 PHP
刷新PHP缓冲区为你的站点加速
2015/10/10 PHP
jQuery Ajax使用 全解析
2010/12/15 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
详解React中setState回调函数
2018/06/14 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
班队活动设计方案
2014/01/30 职场文书
房产委托公证书样本
2014/04/04 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
2014年教研组工作总结
2014/11/26 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
委托书范本格式
2019/04/18 职场文书
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL