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 10 Javascript
JS启动应用程序的一个简单例子
May 11 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
jQuery Easyui 验证两次密码输入是否相等
May 13 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
Nov 07 Javascript
快速入门Vue
Dec 19 Javascript
浅谈JavaScript异步编程
Jan 20 Javascript
Mongoose中document与object的区别示例详解
Sep 18 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 xml文件操作代码(一)
2009/03/20 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
php实现的xml操作类
2016/01/15 PHP
完美的php分页类
2017/10/24 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
jQuery的框架介绍
2016/05/11 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
写给学生的新学期寄语
2014/01/18 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
实习证明格式范文
2014/10/14 职场文书
解决xampp安装后Apache无法启动
2022/03/21 Servers
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android