在 NodeJS 中使用 Mongoose 连接 MongoDB,解决连接失败问题

概述

Mongoose 是 MongoDB 的一个对象模型工具,能够以非常优雅的方式工作在 Node.js 环境中。本文将会展示如何使用 Mongoose 建立 MongoDB 连接,以及如何解决连接失败问题。

准备工作

在使用 Mongoose 之前,你必须安装 MongoDB 和 Node.js,并且在你的代码项目中启动 Mongo DB 服务和 Node.js 服务器。

Mongoose 连接 MongoDB

首先,在 Node.js 应用程序中需要引入 Mongoose 模块:

----- -------- - --------------------

然后,使用 Mongoose 连接到 MongoDB 数据库,我们需要使用 connect 方法。我们可以通过以下代码连接到本地 MongoDB 实例:

---------------------------------------------

其中,test 是数据库名称。如果数据库不存在,Mongoose 会自动创建一个空的数据库。

返回值是 mongoose.Connection 对象。当连接成功时,on('open', callback) 事件会被发出。

这里的 callback 函数可以输出一条连接成功的消息:

----- -- - --------------------

-------------- --------------- -
    ----------------------- -------- -------
---

--------------- ---------- -
    ----------------------- -----------
---

这里我们还可以在 open 事件后添加数据模型,并集成其他操作:如下所示。

----- -------- - --------------------
----- ------ - ----------------
 
--------------------------------------------------- - 
  ---------------- ----- 
  ------------------- -----
  -------------- - -----
  ----------------- ----- 
---

----- -- - -------------------- 

-------------- -------- ----- -
  --------------------- ---------- ------ - - -----
--- 

--------------- -------- -- -
  --------------------- -------------
  -- --- ------ --- ------
  ----- ------------- - --- --------
    ------ -
      ----- -------
      --------- -----
      ------- -----
      ------ ----
    --
    --------- -
      ----- -------
      --------- ----
    -
  -- -
    ----------- ----
  ---
  ----- ------- - ------------------------- ---------------
  -- ------ --------
  ----------------
    ------ ----------------
    --------- ----------
  --------------- -- -
    ---------------------
  ------------ -- -
    -----------------
  ---
---

解决连接失败的问题

连接失败通常是由于以下几种原因: IP 地址和端口号不正确、安全设置和网络限制等。

1. MongoDB 配置验证查询

有时 MongoDB 实例可能只允许特定 IP 地址或用户来访问,此时我们需要验证 MongoDB 的配置:

- ----- ------ -------- ------ --------
- --- --------
- ------------------- -----------

2. 测试MongoDB实例

我们可以使用以下命令检查 MongoDB 是否正在运行并可用:

- --------- ------ ------

3. 配置 MongoDB 实例

有时 MongoDB 需要我们配置访问权限等安全设置,因此我们需要验证我们设置的安全设置是否正确。

/etc/mongod.conf 文件中,我们可以设置以下属性:

---------
    -------------- -------  

4. 配置 Mongoose

最后,我们需要检查连接字符串是否正确。下面是连接字符串格式的示例:

-------------------------------------------------------------------------- ---------

options 中,我们可以设置以下属性:

  • useNewUrlParser: 连接时使用新的URL解析器;
  • useUnifiedTopology: 使用新的Server发现和监视引擎
  • useCreateIndex : Mongoose4.0以后版本的方法;
  • useFindAndModify: Mongoose5.0以后的版本方法;

例如:

--------------------------------------------------- - 
  ---------------- -----
  ------------------- -----
  -------------- - -----
  ----------------- ----- 
---

结论

这篇文章涵盖了使用 Mongoose 建立 MongoDB 连接,以及如何解决连接失败问题的所有方面。通过本文内容的学习,读者应该能够在自己的 Node.js 项目中成功地使用 Mongoose 连接到 MongoDB。

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