Node.js操作MongoDB数据库实例分析

 更新时间:2020年01月19日 10:46:45   作者:林飞的梦呓  
这篇文章主要介绍了Node.js操作MongoDB数据库,结合实例形式分析了node.js连接MongoDB数据库以及增删改查等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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();
 })
});

参考:

https://www.npmjs.com/package/mongodb
https://www.jb51.net/article/58815.htm
https://www.jb51.net/article/98813.htm

希望本文所述对大家node.js程序设计有所帮助。

相关文章

  • 使用Node.js实现Clean Architecture方法示例详解

    使用Node.js实现Clean Architecture方法示例详解

    这篇文章主要为大家介绍了使用Node.js实现Clean Architecture方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • npm安装报错npm ERR! Error: EPERM: operation not permitted解决

    npm安装报错npm ERR! Error: EPERM: operation&

    这篇文章主要为大家介绍了npm安装报错npm ERR! Error: EPERM: operation not permitted解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 解决Mac安装thrift因bison报错的问题

    解决Mac安装thrift因bison报错的问题

    今天小编就为大家分享一篇解决Mac安装thrift因bison报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 浅析Node在构建超媒体API中的作用

    浅析Node在构建超媒体API中的作用

    超媒体即Hypermedia,是一种采用非线性网状结构对块状多媒体信息(包括文本、图像、视频等)进行组织和管理的技术。超媒体的概念类似于早期的超文本,超文本的本质是在文本内容加上链接,这样就构成了超文本。超媒体也类似。
    2014-07-07
  • Node.js实现读取Excel数据并插入MySQL

    Node.js实现读取Excel数据并插入MySQL

    这篇文章主要为大家详细介绍了Node.js如何实现读取Excel数据并插入到MySQL数据库中,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • node内存泄漏排查与修复过程

    node内存泄漏排查与修复过程

    之前开发了一个node接口,该接口使用canvas绘制产品图提供给java端使用,在运行了一段时间后发现了内存泄漏问题,本文浅记下修复过程,文章通过图文介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • 详解NodeJS Https HSM双向认证实现

    详解NodeJS Https HSM双向认证实现

    这篇文章主要介绍了详解NodeJS Https HSM双向认证实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Node.js成为Web应用开发最佳选择的原因

    Node.js成为Web应用开发最佳选择的原因

    本篇文章给大家详细分析了Node.js 成为 Web 应用开发最佳选择的十个原因,对此有需要的朋友参考下。
    2018-02-02
  • 浅谈node node-sass sass-loader版本对应问题

    浅谈node node-sass sass-loader版本对应问题

    本文主要介绍了浅谈node node-sass sass-loader版本对应问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • node-red教程之dashboard简介与输入型仪表板控件的使用

    node-red教程之dashboard简介与输入型仪表板控件的使用

    Node-red支持自定义节点,当然也就支持自定义图形化的节点。也有优秀的开发者把自己建立的图形化节点无偿分享。这里给出一个股票界面的例子,让大家看一看优秀的node-red界面能做到什么样子
    2022-01-01

最新评论