简介
这篇文章将会介绍如何使用 Node.js,Express 和 Mongoose 连接 MongoDB 数据库并开始使用它。 MongoDB 是一个流行的 NoSQL 数据库,它非常适合存储大量的文档型数据,同时也易于扩展和部署。Mongoose 是一个 Node.js 框架,它可以用于连接 MongoDB 数据库。
准备工作
在开始本教程之前,你需要做好以下准备:
- 安装 Node.js。
- 安装 MongoDB 数据库,可以参考官方文档直接下载和安装。
创建项目
使用命令行或终端进入到你想要创建项目的目录中。
运行下面的命令,创建一个名为
node-mongodb-tutorial
的项目。
----- --------------------- -- ---------------------
- 使用下面的命令来初始化一个 Node.js 项目,并回答命令窗口中的设置问题。
--- ----
- 在项目根目录下创建一个
app.js
文件,并输入以下代码:
----- ------- - ------------------- ----- -------- - -------------------- ----- --- - ---------- ----- ---- - ----- ------------------------------------------------------------- - ---------------- ----- ------------------- ---- --- ----- -- - -------------------- -------------- --------------------------- ----------- ---------- --------------- ---------- - -------------------- ------------ --- ---------------- -- -- - ------------------- -- ------- -- ---- ---------- ---
以上代码会引入 express
、mongoose
两个模块,创建一个 Express 应用程序实例,并在 3000 端口运行该应用程序。在这里,我们使用 mongoose.connect()
连接到我们本地的 MongoDB 数据库,并且在连接成功后,输出 MongoDB Connected
字符串到控制台中。
- 使用下面的命令,在你的终端或命令行窗口中启动应用程序:
---- ------
- 打开浏览器,在地址栏中输入
http://localhost:3000/
,你应该能够看到一个输出Server is running on port 3000
的页面。这表示你已经成功地连接到了 MongoDB 数据库。
定义模型
在 Mongoose 中,文档是通过一个称为 Schema
的对象定义的,该对象定义了文档的结构和默认值。在这里,我们将定义一个名为 User
的模型,并指定 name
和 email
作为用户的字段。
在 app.js
文件中,添加以下代码:
----- ---------- - --- ----------------- ----- ------- ------ ------ --- ----- ---- - ---------------------- ------------
以上代码定义了一个名为 userSchema
的 Schema
对象,该对象具有两个属性:name
和 email
。我们使用 mongoose.model()
方法创建了一个名为 User
的模型,并将 userSchema
分配给它。现在,这个 User
模型可以用来创建、读取、更新和删除文档。
操作文档
创建文档
在下面的代码中,我们将在名为 create-user
的路由中添加一个 Create 操作,该操作使用 User.create()
方法来创建一个新的用户文档。
------------------------ ----- ---- -- - ----- - ----- ----- - - --------- ------------- ----- ----- -- ----- ----- -- - -- ----- - ------------------- ---------------------------------- - ---- - ----------------- ------- --------------- --------------------------- - --- ---
在上述代码中,我们首先从请求体中获取 name
和 email
字段的值,并使用 User.create()
方法来创建一个新的用户文档。如果出现错误,我们返回一个 500 错误码和错误消息,否则我们将文档返回给客户端,并输出 User created successfully
到控制台中。
读取文档
在下面的代码中,我们将在名为 get-users
的路由中添加一个 Read 操作,该操作使用 User.find()
方法来获取所有用户文档。
--------------------- ----- ---- -- - --------------- ------ -- - -- ----- - ------------------- ---------------------------------- - ---- - ------------------ --------- --------------- ---------------------------- - --- ---
在上述代码中,我们使用 User.find()
方法来获取所有用户文档,并将文档返回给客户端。如果出现错误,我们返回一个 500 错误码和错误消息,否则我们将文档返回给客户端,并输出 Users retrieved successfully
到控制台中。
更新文档
在下面的代码中,我们将在名为 update-user/:id
的路由中添加一个 Update 操作,该操作使用 User.updateOne()
方法来更新指定的用户文档。
--------------------------- ----- ---- -- - ----- - -- - - ----------- ----- - ----- ----- - - --------- ---------------- ---- -- -- - ----- - ----- ----- - -- ----- ----- -- - -- ----- - ------------------- ---------------------------------- - ---- - ----------------- ------- --------------- --------------------------- - --- ---
在上述代码中,我们使用 User.updateOne()
方法来更新指定的用户文档。我们首先从请求参数中获取文档的 ID,并从请求体中获取要更新的字段的值。然后,我们使用 $set
操作符来指定要更新的字段,将其传递到 User.updateOne()
方法中。如果出现错误,我们返回一个 500 错误码和错误消息,否则我们将更新后的文档返回给客户端,并输出 User updated successfully
到控制台中。
删除文档
在下面的代码中,我们将在名为 delete-user/:id
的路由中添加一个 Delete 操作,该操作使用 User.deleteOne()
方法来删除指定的用户文档。
------------------------------ ----- ---- -- - ----- - -- - - ----------- ---------------- ---- -- -- ----- ----- -- - -- ----- - ------------------- ---------------------------------- - ---- - ----------------- ------- --------------- --------------------------- - --- ---
在上述代码中,我们使用 User.deleteOne()
方法来删除指定的用户文档。我们从请求参数中获取文档的 ID,并将其传递到 User.deleteOne()
方法中。如果出现错误,我们返回一个 500 错误码和错误消息,否则我们将删除后的文档返回给客户端,并输出 User deleted successfully
到控制台中。
总结
本教程介绍了如何使用 Node.js、Express 和 Mongoose 连接并操作 MongoDB 数据库。我们首先定义了一个名为 User
的模型,然后介绍了如何创建、读取、更新和删除文档。现在,你可以开始构建你自己的 Node.js 应用程序,并使用 MongoDB 数据库来存储数据。优秀的 Node.js 开发者需要熟练掌握这个工具链,在实际的项目中,有很多其他的需求,相信你在接下来的探索中会有更深入的发现。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/664dcadfd3423812e4da15b3