📅  最后修改于: 2023-12-03 15:35:50.563000             🧑  作者: Mango
在 MongoDB 的 Node.js 驱动程序中,UnifiedTopology: true
选项是用于新的数据库连接选项。它的作用是替换掉过时的 useNewUrlParser
和 useUnifiedTopology
选项,并在一些情况下提供更好的性能。在这篇文章中,我们将会对 UnifiedTopology 的使用进行介绍。
首先,你需要确认你使用的是什么版本的 MongoDB Node.js 驱动程序。 在3.1.0版本以后,useUnifiedTopology
和 useNewUrlParser
将会被统一替换为 UnifiedTopology: true
。
如果你已经在使用 3.1.0 版本及以上,那么你将无需再使用这两个选项,只需要将 UnifiedTopology: true
作为新的选项即可。这将简化数据库连接字符串的处理。
UnifiedTopology
是连接MongoDB的驱动选项之一。它指定了连接的拓扑结构,即连接客户端到mongoDB服务器的方式。
具体而言,UnifiedTopology
选项将使用多个连接到不同mongod实例的扫描连接来扫描mongod实例组,并将所有副本集或分片集群的mongod实例纳入到拓扑结构中。如果您使用了此选项,就可以在分片集群和副本集群之间轻松切换,而无需更改连接字符串或代码。
UnifiedTopology: true
不仅仅提供了更好的性能和更简单的连接字符串处理方法,还支持以下新的 MongoDB 功能:
在连接MongoDB的时候,只需要在options对象中设置UnifiedTopology: true
选项即可。以下是一个示例:
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://<username>:<password>@<cluster>.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, {useNewUrlParser: true, useUnifiedTopology: true});
async function run() {
try {
await client.connect();
console.log("Connected successfully to server");
} finally {
await client.close();
}
}
run().catch(console.dir);
使用 UnifiedTopology: true
选项,能够让你的 MongoDB 数据库连接更加稳定和高效。它支持多个连接到不同mongod实例的扫描连接来扫描mongod实例组,并将所有副本集或分片集群的mongod实例纳入到拓扑结构中。同时它也为你提供了支持 MongoDB 4.0 及以上版本所引入的新功能的连接选项。