构建 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
数据库
依赖安装
首先,使用 npm
或 yarn
安装 express
和 mongodb
:
npm install express mongodb
服务器搭建
然后,创建两个文件:http.js
和 mongodb.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
数据库