如何使用 Express.js 和 MongoDB 构建 CRUD 应用程序

如何使用 Express.js 和 MongoDB 构建 CRUD 应用程序

前言:Express.js 是一个非常流行的 Node.js Web 框架,能够让我们迅速构建高质量的 Web 应用程序。MongoDB 是一个广泛使用的 NoSQL 数据库,它的灵活性和可伸缩性使得它成为构建实时 Web 应用程序的理想选择。在本文中,我们将介绍如何使用 Express.js 和 MongoDB 来构建一个完整的 CRUD 应用程序,包括创建、读取、更新、删除操作。

环境搭建

在开始搭建环境之前,确保您已经安装了 Node.js 和 MongoDB。可以从下面的链接下载和安装它们:

完成安装后,我们可以创建一个新项目,并将依赖项添加到我们的 package.json 文件中:

通过以上命令,我们在本地创建了一个名为 express-mongo-crud 的项目,并添加了 Express.js 和 MongoDB 的依赖项。此外,我们还添加了 nodemon,以便在开发过程中能够自动重启服务器。

连接到 MongoDB

首先,我们需要配置连接到 MongoDB 的数据库。在项目的根目录下创建一个名为 config 的文件夹,并创建一个名为 db.js 的文件。

db.js 文件中,我们要通过 Mongoose 库来连接到 MongoDB 数据库。在连接成功后,我们可以使用 mongoose.connection 对象实例化数据库,并在全局对象中注册连接实例。下面是 db.js 文件的示例代码:

在代码中,我们导出了一个连接实例作为 db 属性的全局对象,以便其他文件可以使用它。

创建 Express.js 应用程序

接下来,让我们创建一个 Express.js 应用程序。在项目根目录下创建一个名为 app.js 的文件,并使用以下示例代码初始化 Express.js 应用程序:

在代码中,我们首先导入了 Express.js 库,并使用 app() 创建了一个应用程序实例。然后启动了服务器并监听端口 3000。这里使用了一个环境变量 process.env.PORT,它表示你可以使用系统的环境变量 PORT 进行端口配置,如果没有环境变量,就使用 3000。

接下来,我们需要创建四个路由来实现 CRUD 操作。

创建资源

第一个路由控制器将用于保存新资源到数据库中。在 routes 目录下创建一个名为 index.js 的文件,并使用以下示例代码添加路由控制器:

在代码中,我们首先判断是否存在必要的数据,如果没有,返回一个 400 Bad Request 状态码和一个错误消息。否则,我们将实例化一个 Mongoose 模型对象并将其存储到数据库中,并返回一个 201 Created 状态码和存储的信息。

获取资源

第二个路由控制器将用于检索所有存在于数据库中的资源。在 routes 目录下,再创建一个名为 messages.js 的文件,并使用以下示例代码添加路由控制器:

在代码中,我们首先检索所有消息的集合,然后将它们发送到客户端。如果发生错误(如无法连接到数据库),则会返回一个 500 Internal Server Error 状态码。

更新资源

第三个路由控制器将用于在数据库中更新现有资源。在 routes 目录下,创建一个名为 messages.js 的文件,并使用以下示例代码添加路由控制器:

在代码中,我们首先检查是否传入了必要数据,如果没有,则返回一个错误消息。否则,我们将使用 Message.findByIdAndUpdate() 函数更新记录,并返回一个 200 OK 状态码和更新的消息。

删除资源

第四个路由控制器将用于删除现有资源。在 routes 目录下,创建一个名为 messages.js 的文件,并使用以下示例代码添加路由控制器:

在代码中,我们首先使用 Message.findByIdAndDelete() 函数查找特定消息并删除它。如果操作成功,则返回一个 200 OK 状态码并返回一个成功消息。如果消息不存在,则返回一个 400 Bad Request 状态码以及一个消息。

在应用程序中使用路由

现在我们已经定义并实现了路由,为了使用这些路由控制器,我们需要将它们引入到我们的应用程序中。

app.js 文件中添加以下代码:

在代码中,我们首先导入新创建的路由文件,然后将它们添加到应用程序中间件中。现在,访问 http://localhost:3000/api/messages 就会返回包含数据库中所有消息的响应。

测试应用程序

现在我们已经创建了完整的 CRUD 应用程序,开始测试它。运行以下命令启动应用程序:

这将使用 nodemon 启动服务器,并监听 3000 端口。现在,您可以使用 Postman 或您喜欢使用的其他工具来测试我们的应用程序。

在 Postman 中,使用 POST 请求 http://localhost:3000/api/messages,并在请求主体中添加 JSON 数据:

您应该看到一个包含我们添加的消息的响应。接着,使用 GET 请求 http://localhost:3000/api/messages,您应该看到所有保存的消息的列表。使用 PUT 和 DELETE 请求测试更新和删除操作。

总结

通过本文,您学习了如何使用 Express.js 和 MongoDB 构建完整的 CRUD 应用程序。我们了解了如何连接到 MongoDB 数据库,并使用 Mongoose 库来执行标准的 CRUD 操作。我们还了解了如何使用 Express.js 的路由控制器在应用程序中进行集成。希望这篇文章对您有所帮助!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652e29807d4982a6ebf37084


纠错
反馈