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 中的replace方法说明
Apr 13 Javascript
js自定义事件及事件交互原理概述(一)
Feb 01 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
Mar 13 Javascript
vue 表单输入格式化中文输入法异常问题
May 30 Javascript
从源码里了解vue中的nextTick的使用
Nov 22 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
Oct 21 Javascript
js实现一款简单踩白块小游戏(曾经很火)
Dec 02 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
May 31 Javascript
js模拟实现百度搜索
Jun 28 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与SQL语句常用大全
2016/12/10 PHP
JS 实现完美include载入实现代码
2010/08/05 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
python中eval与int的区别浅析
2019/08/11 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
通过实例了解python property属性
2019/11/01 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
部队领导证婚词
2014/01/12 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
业务员自荐信范文
2014/04/20 职场文书
安全生产专项整治方案
2014/05/06 职场文书
党支部工作总结2015
2015/04/01 职场文书
治理商业贿赂工作总结
2015/08/10 职场文书
学校标语口号大全
2015/12/26 职场文书