在 Node.js 中创建 HTTP 服务器之前如何等待 MongoDB 连接?
将服务器连接到数据库是后端开发中一项非常重要的任务,因为数据库是存储用户提供的数据的位置,直到采取进一步行动。
如果我们在创建服务器之前未能连接到数据库,那么服务器正在处理的任何数据都不会存储在数据库中。因此,结果,由客户端插入的数据本质上不会持久化。
在本文中,我们将使用Node.js (更具体地说是使用 Express)创建一个服务器,并使用 mongoose ODM将我们的服务器连接到MongoDB数据库。
表示 是一个开源、最小且健壮的 Node.js Web 框架,用于构建 Web 应用程序和 API(应用程序编程接口)。
要在您的计算机上运行 express 服务器,请确保在您的系统中安装了 Node.js。要检查是否安装了 Node.js,请在终端中键入以下命令:
node -v
如果它显示了您系统中安装的 Node.js 版本,就像下面的屏幕截图一样继续下一步。
项目安装及文件夹结构:
步骤 1:在您的系统中创建一个单独的GFG文件夹,并使用命令提示符导航到该文件夹。
mkdir GFG & cd GFG
第 2 步:使用以下命令在文件夹中创建package.json文件:
npm init
第 3 步:在根目录中创建一个index.js文件,这是将启动服务器的文件。使用以下命令安装express和mongoose包:
npm install express mongoose
步骤 4:在根目录下创建一个connect.js文件,该文件将用于编写有关数据库连接的代码。
项目结构:它看起来像这样。创建 connect.js 和 index.js 文件,如下所示。
服务器初始化及数据库连接过程:
如果本地系统中未安装 MongoDB,请点击此链接。使用以下命令创建一个名为DEMO_DB的数据库(根据您的智慧命名):
use DEMO_DB
我们将在本文中使用 mongoose,它是 Node.js 的ODM(对象文档映射器) 。要了解更多信息,请点击此链接。现在在各自的文件中写下以下代码。
connect.js
const mongoose = require("mongoose");
const connectDB = (URL) => {
return mongoose.connect(URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
};
module.exports = connectDB;
index.js
const Express = require("express");
const connectDB = require("./connect");
const app = Express();
const PORT = 8000;
// Basic route for testing
app.get("/", (req, res) => {
res.send("welcome to the server.");
});
const start = async () => {
try {
await connectDB("mongodb://localhost:27017/DEMO_DB");
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
} catch (error) {
console.log(error);
console.log("Failed to connect to the database,
server is not running.");
}
};
start();
index.js
const Express = require("express");
const connectDB = require("./connect");
const app = Express();
const PORT = 8000;
// Basic route for testing
app.get("/", (req, res) => {
res.send("welcome to the server.");
});
const start = async () => {
try {
await connectDB("mongodb://localhost:27017/DEMO_DB");
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
} catch (error) {
console.log(error);
console.log("Failed to connect to the database,
server is not running.");
}
};
start();
运行应用程序的步骤:在终端中使用(Ctrl+C)命令停止正在运行的服务器,然后使用以下命令重新启动服务器:
node index.js
输出:打开浏览器并输入http://localhost:8000 ,我们将得到以下响应。
如果这是我们得到的响应,那么数据库已经正确连接到服务器,因为它已经创建。