Mongoose 连接字符串选项
Mongoose是一个JavaScript库,提供了一种方便的方式与MongoDB数据库进行交互。为了使用Mongoose,您需要在Node.js应用程序和MongoDB服务器之间创建一个连接。Mongoose连接表示这个连接,并提供了许多有用的功能,如连接池和用于监控连接状态的事件。
语法:
mongoose.connect('<connection-string>', <options>, <callback>);
参数: 一个Mongoose连接字符串是一个类似URL的字符串,包含连接到MongoDB数据库所需的所有信息。
它通常包括以下参数:
- dbName: 要连接的数据库的名称。
- user和pass: 用于身份验证的用户名和密码。
- host: MongoDB服务器的主机名或IP地址。
- port: MongoDB服务器监听的端口号。
- useNewUrlParser: 设置为true以使用新的MongoDB连接字符串解析器。
- useUnifiedTopology: 设置为true以使用新的服务器发现和监视引擎。
- authSource: 用于身份验证的数据库的名称。通常为admin数据库。
- connectTimeoutMS: 在超时之前等待建立连接的时间(以毫秒为单位)。
- socketTimeoutMS: 在超时之前等待来自服务器的响应的时间(以毫秒为单位)。
- heartbeatFrequencyMS: 指定以毫秒为单位发送服务器监控命令以检查服务器健康状况的频率。
- retryWrites: 指定网络错误后写操作应重试一次。
- w: 指定写操作的写关注级别。在这里,我们使用了大多数值,要求从大多数副本集成员接收确认。
- ssl: 是否使用SSL/TLS进行连接。
- replicaSet: 连接到的副本集的名称。
- readPreference: 连接的读取首选项模式。
- writeConcern: 连接的写关注选项。
这些选项可以作为查询参数传递给连接字符串,或者可以作为选项对象传递给在Node.js应用程序中使用的mongoose.connect()方法。
mogoose模块的安装:
步骤1: 您可以使用以下命令安装此软件包。
npm install mongoose
步骤2: 安装了mongoose模块后,您可以在命令提示符中使用命令检查您的mongoose版本。
npm version mongoose
步骤3: 然后,您只需创建一个文件夹并添加一个文件,例如index.js,要运行此文件,需要运行以下命令。
node index.js
项目结构: 项目的结构将如下所示:

示例1:
下面的代码建立了与名为Geeksforgeeks的运行在本地的MongoDB数据库的连接。指定了useNewUrlParser和useUnifiedTopology选项以使用新的MongoDB连接字符串解析器和服务器发现和监视引擎。回调函数将一条消息记录到控制台,指示连接是否成功。
- index.js
const mongoose = require("mongoose");
const connectionStr = "mongodb://localhost:27017/Geeksforgeeks";
mongoose.set("strictQuery", true);
const options = {
useNewUrlParser: true,
useUnifiedTopology: true,
};
mongoose.connect(connectionStr, options, (error, connection) => {
if (error) {
console.error("Error connecting to MongoDB:", error);
} else {
console.log("Connected to MongoDB!");
}
});
运行应用程序的步骤: 使用下面的命令运行index.js文件:
步骤1: 确保您已经安装了mongoose模块,使用以下命令:
npm install mongoose
步骤2: 使用以下命令运行index.js文件:
node index.js
输出:

示例2: 在这个示例中,我们使用了以下Mongoose连接字符串选项:authSource,useNewUrlParser,useUnifiedTopology,connectTimeoutMS,socketTimeoutMS,heartbeatFrequencyMS,retryWrites,w。
如果使用给定的字符串选项成功连接,则控制台将打印“connected to MongoDB!”,否则将运行错误块。
- index.js
const mongoose = require("mongoose");
const connectionStr =
"mongodb://localhost:27017/Geeksforgeeks";
mongoose.set("strictQuery", true);
const options = {
authSource: "admin",
useNewUrlParser: true,
useUnifiedTopology: true,
connectTimeoutMS: 5000,
socketTimeoutMS: 20000,
heartbeatFrequencyMS: 10000,
retryWrites: true,
w: "majority",
};
mongoose.connect(connectionStr, options,
(error, connection) => {
if (error) {
console.error("Error connecting to MongoDB:", error);
} else {
console.log("Connected to MongoDB!");
}
});
运行应用程序的步骤:
使用以下命令运行index.js文件:
node index.js
输出:

极客教程