构建 Node.js 服务器并连接 MongoDB:一步步实现

本文介绍了如何利用Node.js的Express框架搭建服务器,并通过MongoDB驱动程序连接和操作数据库。借助Docker快速部署MongoDB,创建数据集,并展示了如何通过HTTP请求进行数据的增删查操作。
摘要由CSDN通过智能技术生成

构建 Node.js 服务器并连接 MongoDB:一步步实现

在本文中,将介绍如何使用 Node.js 搭建一个简单的服务器,并连接到 MongoDB 数据库。使用 Express 框架启动服务器,以及如何使用 mongodb 连接和操作 MongoDB 数据库。同时,还使用 Docker 来快速搭建 MongoDB 环境。

资料清单🧾

在开始之前,我们需要准备以下资料:

  • express:一个流行的 Node.js 服务器框架,用于启动和处理 HTTP 请求
  • mongodb:一个 Node.js 的 MongoDB 驱动程序,用于连接和操作 MongoDB 数据库
  • mongodb的API:MongoDB 官方提供的 Node.js 驱动程序的详细文档
  • Docker:一个用于快速搭建容器化应用的开源工具
  • MongoDB(数据库):MongoDB 的官方文档,提供了详细的使用指南和参考资料
  • MongoDB命令:MongoDB 常用命令的参考指南

Docker安装MongoDB

我们将使用 Docker 来快速搭建一个本地的 MongoDB 环境。以下是安装 MongoDB 的步骤:

Doocker安装

在 Mac 上安装 Docker 可以选择多种方式,您可以参考 Mac 上 Docker 的安装指南 选择适合您的安装方式。

我们采用了第二种方式安装

MongoDB安装

打开终端,执行以下命令下载 MongoDB 镜像:

docker pull mongo

下载成功以后,我们使用 Docker 客户端启动 MongoDB
在这里插入图片描述

这样,我们的 MongoDB 就成功启动了

MongoDB数据集创建

启动成功后,我们使用 VSCode 打开 MongoDB,创建一个 数据集(collection)

首先安装 MongoDB 插件

在这里插入图片描述

接下来,打开命令行,输入 MongoDB: Connect with Connection String,连接到 MongoDB 并创建数据集:

URL 默认为 mongodb://docker:mongopw@localhost:55000 ,在 Docker 启动 MongoDB 就能够看到

在这里插入图片描述
创建数据集命令如下

// MongoDB Playground
const database = 'map';
const collection = 'location';
// Create a new database.
use(database);
// Create a new collection.
db.createCollection(collection);

执行如上代码,在 CONNECTIONS 里能看新建的数据集

使用Node.js操作MongoDB

接下来,我们将使用 Node.js 编写代码来连接和操作 MongoDB 数据库

依赖安装

首先,使用 npmyarn 安装 expressmongodb

npm install express mongodb
服务器搭建

然后,创建两个文件:http.jsmongodb.js

http.js 文件的内容如下,它将创建一个简单的 Express 服务器,用于处理 HTTP 请求:

//http.js
const express = require("express");
const mongodb = require("./mongodb");
//服务端口
const port = "8090";

const app = express();
//查询请求
app.get("/query", (req, res) => {
  //获取monbodb数据
  mongodb.getData().then((result) => {
    res.end(JSON.stringify(result));
  });
});

//新增请求
app.get("/add", (req, res) => {
  const { query } = req;
  mongodb.insertMany([query]).then((result) => {
    res.end("success");
  });
});

//清空数据库
app.get("/del", (req, res) => {
  mongodb.deleteMany().then(() => {
    res.end("success");
  });
});

app.listen(port);

mongodb.js 文件的内容如下,它包含了与 MongoDB 数据库交互的方法:

//mongodb.js
const { MongoClient } = require("mongodb");
// Connection URL
const url = "mongodb://docker:mongopw@localhost:55000";
const client = new MongoClient(url);

// Database Name
const dbName = "map";
const collectionName = "location";
/**
 *添加数据到数据库
 * @param { Array} data
 * @returns string
 */
const insertMany = async (data) => {
  // Use connect method to connect to the server
  await client.connect();
  const db = client.db(dbName);
  const collection = db.collection(collectionName);
  await collection.insertMany(data);
  client.close();
  return "done.";
};
/**
 * 清空数据库
 */
const deleteMany = async () => {
  await client.connect();
  const db = client.db(dbName);
  const collection = db.collection(collectionName);
  await collection.deleteMany();
  client.close();
  return "done.";
};
/**
 * 获取数据集
 * @returns array
 */
const getData = async () => {
  await client.connect();
  const db = client.db(dbName);
  const collection = db.collection(collectionName);
  const array = await collection.find().toArray();
  client.close();
  return array;
};
//把方法暴露出去
module.exports = {
  insertMany,
  getData,
  deleteMany,
}

最后,打开终端,执行以下命令启动我们的服务器:

node http

现在,我们已经完成了服务器的搭建

操作数据库

您可以通过访问以下地址来进行操作:

访问 http://localhost:8090/del 删除数据库数据
在这里插入图片描述

访问 http://localhost:8090/add?name=331&value=223 往数据库添加数据
在这里插入图片描述

在浏览器访问 http://localhost:8090/query 查看数据库数据
在这里插入图片描述

总结

通过以上步骤,我们已经成功搭建了一个 Node.js 服务器,并成功连接和操作了 MongoDB 数据库

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值