概述
Mongoose 是 MongoDB 的一个对象模型工具,能够以非常优雅的方式工作在 Node.js 环境中。本文将会展示如何使用 Mongoose 建立 MongoDB 连接,以及如何解决连接失败问题。
准备工作
在使用 Mongoose 之前,你必须安装 MongoDB 和 Node.js,并且在你的代码项目中启动 Mongo DB 服务和 Node.js 服务器。
Mongoose 连接 MongoDB
首先,在 Node.js 应用程序中需要引入 Mongoose
模块:
const mongoose = require('mongoose');
然后,使用 Mongoose 连接到 MongoDB 数据库,我们需要使用 connect
方法。我们可以通过以下代码连接到本地 MongoDB 实例:
mongoose.connect('mongodb://localhost/test');
其中,test
是数据库名称。如果数据库不存在,Mongoose 会自动创建一个空的数据库。
返回值是 mongoose.Connection
对象。当连接成功时,on('open', callback)
事件会被发出。
这里的 callback
函数可以输出一条连接成功的消息:
-- -------------------- ---- ------- ----- -- - -------------------- -------------- --------------- - ----------------------- -------- ------- --- --------------- ---------- - ----------------------- ----------- ---
这里我们还可以在 open
事件后添加数据模型,并集成其他操作:如下所示。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------ - ---------------- --------------------------------------------------- - ---------------- ----- ------------------- ----- -------------- - ----- ----------------- ----- --- ----- -- - -------------------- -------------- -------- ----- - --------------------- ---------- ------ - - ----- --- --------------- -------- -- - --------------------- ------------- -- --- ------ --- ------ ----- ------------- - --- -------- ------ - ----- ------- --------- ----- ------- ----- ------ ---- -- --------- - ----- ------- --------- ---- - -- - ----------- ---- --- ----- ------- - ------------------------- --------------- -- ------ -------- ---------------- ------ ---------------- --------- ---------- --------------- -- - --------------------- ------------ -- - ----------------- --- ---
解决连接失败的问题
连接失败通常是由于以下几种原因: IP 地址和端口号不正确、安全设置和网络限制等。
1. MongoDB 配置验证查询
有时 MongoDB 实例可能只允许特定 IP 地址或用户来访问,此时我们需要验证 MongoDB 的配置:
$ mongo --host <dbhost> --port <dbport> > use <dbname> > db.auth(<username>, <password>)
2. 测试MongoDB实例
我们可以使用以下命令检查 MongoDB 是否正在运行并可用:
$ systemctl status mongod
3. 配置 MongoDB 实例
有时 MongoDB 需要我们配置访问权限等安全设置,因此我们需要验证我们设置的安全设置是否正确。
在 /etc/mongod.conf
文件中,我们可以设置以下属性:
security: authorization: enabled
4. 配置 Mongoose
最后,我们需要检查连接字符串是否正确。下面是连接字符串格式的示例:
mongoose.connect('mongodb://<username>:<password>@<host>:<port>/<dbname>', options);
在 options
中,我们可以设置以下属性:
useNewUrlParser
: 连接时使用新的URL解析器;useUnifiedTopology
: 使用新的Server发现和监视引擎useCreateIndex
: Mongoose4.0以后版本的方法;useFindAndModify
: Mongoose5.0以后的版本方法;
例如:
mongoose.connect('mongodb://localhost/Programming', { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex : true, useFindAndModify: false });
结论
这篇文章涵盖了使用 Mongoose 建立 MongoDB 连接,以及如何解决连接失败问题的所有方面。通过本文内容的学习,读者应该能够在自己的 Node.js 项目中成功地使用 Mongoose 连接到 MongoDB。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/671ca7639babaf620fb1c547