如何在创建Node.js中的HTTP服务器之前等待MongoDB连接

如何在创建Node.js中的HTTP服务器之前等待MongoDB连接

将服务器连接到数据库是后端开发中非常关键的任务,因为数据库是存储用户提供数据的位置,直到进一步操作为止。

如果在创建服务器之前无法连接到数据库,则服务器正在处理的任何数据都不会存储在数据库中。因此,结果是,由客户端插入的数据将不具有持久性。

在本文中,我们将使用Node.js(更具体地说,使用Express)创建一个服务器,并将服务器连接到一个MongoDB数据库,使用mongoose ODM。

Express是一个开源、最小的、强大的Node.js Web框架,用于构建Web应用程序和API(应用程序编程接口)。

要在计算机上运行Express服务器,请确保Node.js已安装在您的系统中。要检查Node.js是否已安装,您可以在终端中键入以下命令:

node -v
JavaScript

如果显示您系统中安装的 Node.js 版本,就像下面的截图一样,继续进行下一步。
如何在创建Node.js中的HTTP服务器之前等待MongoDB连接

安装项目和文件夹结构:

步骤1: 在您的系统中创建一个单独的 GFG 文件夹,并使用命令提示符导航到此文件夹。

mkdir GFG & cd GFG
JavaScript

步骤2: 使用以下命令在文件夹中创建一个package.json文件:

npm init
JavaScript

步骤3: 在根目录下创建一个 index.js 文件,这个文件将启动服务器。使用以下命令安装 expressmongoose 包:

npm install express mongoose
JavaScript

步骤4: 在根目录下创建一个 connect.js 文件,这是一个包含有关数据库连接的代码的文件。

项目结构: 它将如下所示。按照下面的示例创建 connect.js 和 index.js 文件。

如何在创建Node.js中的HTTP服务器之前等待MongoDB连接

服务器初始化和数据库连接过程:

如果在您的本地系统中未安装MongoDB, 请按照此链接 创建一个名为 DEMO_DB (根据您的智慧来命名)的数据库,使用以下命令:

use DEMO_DB
JavaScript

本文中我们将使用Node.js的 对象文档映射器(ODM) mongoose。要了解更多信息,请访问此链接。现在按照各自的文件编写以下代码。

connect.js

const mongoose = require("mongoose"); 
  
const connectDB = (URL) => { 
    return mongoose.connect(URL, { 
        useNewUrlParser: true, 
        useUnifiedTopology: true, 
    }); 
}; 
  
module.exports = connectDB;
JavaScript

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();
JavaScript

运行应用的步骤:

在终端中使用 (Ctrl+C) 命令停止正在运行的服务器,然后使用以下命令重新启动服务器:

node index.js
JavaScript

输出: 打开浏览器并输入 http://localhost:8000 我们将获取以下响应。
如何在创建Node.js中的HTTP服务器之前等待MongoDB连接

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册