通过驱动程序连接
集群的 Connect 对话框提供了使用 MongoDB 驱动程序通过应用程序连接到集群的详细信息。
注意
无服务器实例目前不支持通过某些驱动程序或驱动程序版本进行连接。要了解更多信息,请参阅 无服务器实例限制。
➤ 使用 Select your language(选择您的语言)下拉菜单设置此页面上示例的语言。
先决条件
重要
专用集群限制
如果在 Linux 上使用 .NET 5.0 运行 C#,您无法在 Atlas 的专用集群中连接到 MongoDB 4.0。此问题仅适用于 Atlas 专用集群。此问题不影响集群层级 M0 到 M5。如果您运行的是早期的 .NET 或 .NET Core 版本,并想升级到 .NET 5.0,请联系 MongoDB Atlas 支持。
驱动程序版本
驱动程序版本必须与 MongoDB Server 版本兼容。我们建议你选择与 MongoDB Server 版本兼容的最新驱动程序,以使用最新的数据库功能并为将来的版本升级做好准备。
如需查看包含您的 MongoDB Server 版本全套功能的驱动程序版本列表,请查看 MongoDB 驱动程序的兼容性矩阵。
有关可用于连接无服务器实例的驾驶员版本列表,请参阅无服务器实例的最低驱动程序版本。
私有端点后分片集群的优化连接字符串
要使用驱动程序和优化的连接字符串连接到分片集群,您必须至少使用以下驱动程序版本之一:
TLS
客户端必须支持 TLS 才能连接到 Atlas 集群。
客户端必须支持 SNI 用于连接到AtlasM0
免费集群或M2/M5
共享集群的 TLS 扩展。要验证 MongoDB驾驶员 是否支持 SNI TLS 扩展,请参阅驱动程序文档的兼容性部分。如果驾驶员与MongoDB4 兼容。2 及更高版本,支持 SNI TLS 扩展。
IP 访问列表
要访问集群,您必须从 Atlas 项目的 IP 访问列表上的 IP 地址进行连接。如需在 IP 访问列表中添加 IP 地址,您可以在 Connect 对话框中执行此操作。您也可以通过网络访问标签页添加 IP 地址。
数据库用户
要访问集群,您必须创建一个有权访问 Atlas 集群上的所需数据库的数据库用户。数据库用户不同于 Atlas 用户。数据库用户可访问 MongoDB 数据库,而 Atlas 用户可访问 Atlas 应用程序本身。
您可以在 Connect 对话框中创建数据库用户来访问 Atlas 集群。您还可以从集群视图添加数据库用户。
连接您的应用程序
在Atlas中,转到项目的Clusters 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未显示,请单击侧边栏中的Clusters 。
会显示集群页面。
选择连接安全性。
Choose Connection Type 。
将此连接类型用于允许的公共 IP 地址。
如果已启用对等互连,请使用此连接类型:
适用于 Google Cloud 或 Azure 并通过您的驱动程序从对等互连网络连接,或
对于 AWS,并且通过使用自定义 DNS 服务的对等网络与您的驱动程序连接。
如果这些都不适用,请将您的 IP 地址添加到 IP 访问列表中,并使用标准连接字符串。如果您通过办公室或家庭网络直接连接到 Atlas,这可能是首选选项。
注意
对等互连必须可用
除非对等互连被标记为 AVAILABLE
,否则您无法选择此选项。要检查对等互连的状态,请执行以下操作:
在 Atlas 中,进入项目的 Network Access 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Security 标题下的 Network Access。
显示网络访问页面。
如果您通过私有端点连接与驱动程序连接,请使用相应接口端点的连接string ,因为您的驱动程序:
在云提供商网络内运行,或
具有对云提供商网络的可传递网络访问权限。
您想使用优化的连接字符串。
如果这些都不适用,请将您的 IP 地址添加到 IP 访问列表中,并使用 Standard Connection 字符串。如果您通过办公室或家庭网络直接连接到 Atlas,这可能是首选选项。
注意
除非已配置的 PrivateLink 连接已准备就绪,否则无法选择此选项。要查看 AWS PrivateLink 的状态:
在 Atlas 中,进入项目的 Network Access 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Security 标题下的 Network Access。
显示网络访问页面。
选择您希望如何限制与集群的连接。
Add a Connection IP Address
重要
如果 Atlas 在 Setup connection security 步骤中指示您已经在集群中配置了 IP 访问列表条目,请跳过此步骤。要管理 IP 访问列表,请参阅向访问列表添加条目。
Atlas 支持标准客户端从项目的 IP 访问列表中的条目连接到集群。项目 IP 访问列表与 API 访问列表不同,后者将 API 访问权限限制为特定的 IP 或 CIDR 地址。
如果 IP 访问列表为空,Atlas 会提示您将 IP 地址添加到项目的 IP 访问列表中。您可以执行以下任一操作:
单击 Add Your Current IP Address 以允许从当前 IP 地址进行访问。
单击 Add an IP Address 添加单个 IP 地址或带有 CIDR 标记的地址范围。
为新添加的 IP 地址或 CIDR 范围提供可选描述。单击 Add IP Address 将地址添加到 IP 访问列表。
Add a Connection IP Address
重要
如果 Atlas 在 Setup connection security 步骤中指示您已经在集群中配置了 IP 访问列表条目,请跳过此步骤。要管理 IP 访问列表,请参阅向 IP 访问列表添加条目。
Atlas 支持标准客户端从项目的 IP 访问列表中的条目连接到集群。项目 IP 访问列表与 API 访问列表不同,后者将 API 访问权限限制为特定的 IP 或 CIDR 地址。
如果 IP 访问列表为空,Atlas 会提示您将 IP 地址添加到项目的 IP 访问列表中。单击 Add a Different IP Address 添加单个 IP 地址或带有 CIDR 标记的地址范围。
为新添加的 IP 地址或 CIDR 范围提供可选描述。单击 Add IP Address 将地址添加到 IP 访问列表。
在 Choose Connection Type 下,选择 Private Endpoint 。
如果看到 Private Link Type 选项,请选择以下选项之一:
Optimized SRV Connection 用于负载均衡连接。
Legacy SRV Connection 用于非负载均衡连接。
要了解更多信息,请参阅提高私有端点后分片集群的连接性能。
在 Choose Private Endpoint 下,选择要使用的端点。
创建数据库用户。
重要
如果 Atlas 在 Setup connection security(设置连接安全)步骤中指示项目中至少已配置一个数据库用户,请跳过此步骤。如要管理现有数据库用户,请参阅配置数据库用户。
要访问集群,您需要一个可以访问项目集群所需数据库的 MongoDB 用户。如果您的项目没有 MongoDB 用户,Atlas 会提示您创建一个具有 Atlas Admin 角色的新用户。
输入新用户的 Username(用户名)。
输入此新用户的 Password(密码)或单击 Autogenerate Secure Password(自动生成安全密码)。
单击 Create Database User(创建数据库用户)以保存此用户。
在以下步骤中,使用此用户连接集群。
将 IP 地址添加到 IP 访问列表并添加数据库用户后,单击 Choose Your Connection Method(选择连接方法)。
选择您的驱动程序和版本。
从下拉菜单中选择您的驱动程序和版本。显示包含连接字符串的代码示例。将 <password>
替换为您创建数据库用户时指定的密码。
注意
如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123
,则在连接字符串中指定密码时必须对 @
字符进行转义,例如 %40bc123
。要了解详情,请参阅连接字符串密码中的特殊字符。
要了解更多信息,请参阅驱动程序兼容性。
驱动程序示例
在以下示例中,您使用 URI 连接字符串进行身份验证并连接到 Atlas 集群。将示例中的占位符替换为您的凭证和部署详细信息。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,必须使用支持MongoDB 4.0及更高版本的C驾驶员版本。有关C驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"); db = mongoc_client_get_database (client, "<databaseName>");
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 1.11 及更高版本 |
行为
注意
以下配置选项仅适用于以单线程模式运行 C 驱动程序的情况。
MongoDB 驱动程序在集群选举或故障转移事件后自动尝试选择服务器。默认情况下,如果 C 驱动程序第一次尝试选择服务器失败,则会立即引发错误。以下配置设置可提高应用程序与 Atlas 集群的连接性,但会在服务器选择循环中花费更多时间:
将 serverSelectionTryOnce 设置为
false
以指示 C 驱动程序在serverSelectionTimeoutMS
定义的时间限制内执行服务器选择。将 serverSelectionTimeoutMS 从默认值
30000
降低到15000
。MongoDB 选举通常需要 10 秒,但在 Atlas 上只需 5 秒。将此值设置为 15 秒(15000
毫秒)涵盖了选举的上限加上额外的延迟时间。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,必须使用支持MongoDB 4.0及更高版本的C++驾驶员版本。有关C++驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
//... mongocxx::instance inst{}; mongocxx::client conn{mongocxx::uri{"mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"}}; mongocxx::database db = conn["<databaseName>"];
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
注意
旧版 C++ 驱动程序已达到生命周期结束日期,不再受支持。
行为
注意
以下配置选项仅适用于使用 C++ 驱动程序的单线程mongocxx::client
类连接 Atlas 集群的情况。
MongoDB 驱动程序在集群选举或故障转移事件后自动尝试选择服务器。默认情况下,如果 C++ 驱动程序第一次尝试选择服务器失败,则会立即引发错误。以下配置设置可提高应用程序与 Atlas 集群的连接性,但会在服务器选择循环中花费更多时间:
将 serverSelectionTryOnce 设置为
false
以指示 C++ 驱动程序在serverSelectionTimeoutMS
定义的时间限制内执行服务器选择。将 serverSelectionTimeoutMS 从默认值
30000
降低到15000
。MongoDB 选举通常需要 10 秒,但在 Atlas 上只需 5 秒。将此值设置为 15 秒(15000
毫秒)涵盖了选举的上限加上额外的延迟时间。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,必须使用支持MongoDB 4.0及更高版本的C#/.Net驾驶员版本。有关C#/.Net驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
var client = new MongoClient("mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"); var database = client.GetDatabase("<databaseName>");
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 版本 2.7 或更高版本 |
注意
Microsoft .NET Core 库版本2.1及更高版本支持Linux和 macOS 上的SNI TLS扩展。在这些平台上使用早期版本的.NET Core 的应用程序无法连接到Atlas M0
免费集群或M2/M5
共享集群。
要了解有关此要求的更多信息,请参阅此 dotnet /corefx 问题。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的Go驾驶员版本。有关Go驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
uri := "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(uri)) if err != nil { panic(err) } defer func() { if err = client.Disconnect(ctx); err != nil { panic(err) } }() // Ping the primary if err := client.Ping(ctx, readpref.Primary()); err != nil { panic(err) }
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 版本 1.0.0 及更高版本 |
注意
要连接到 Atlas M0
集群,您必须使用 Java 版本 8 或更高版本,并使用支持 MongoDB 4.0 或更高版本的 Java 驱动程序版本。要了解有关 Java 驱动程序与 MongoDB 之间兼容性的更多信息,请参阅 MongoDB 兼容性矩阵。
MongoClientURI uri = new MongoClientURI( "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"); MongoClient mongoClient = MongoClients.create(uri); MongoDatabase database = mongoClient.getDatabase("<databaseName>");
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 版本 3.8 或更高版本 |
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的Kotlin驾驶员版本。有关Kotlin驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
val uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" // Construct a ServerApi instance using the ServerApi.builder() method val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() // Create a new client and connect to the server val mongoClient = MongoClient.create(settings) val database = mongoClient.getDatabase("<databaseName>") try { // Send a ping to confirm a successful connection val command = Document("ping", BsonInt64(1)) val commandResult = database.runCommand(command) println("Pinged your deployment. You successfully connected to MongoDB!") } catch (me: MongoException) { System.err.println(me) }
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
MongoDB 5.0 及更高版本 | 版本 4.10 或更高版本 |
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的 Node.js驾驶员版本。有关 Node.js驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
import mongodb from 'mongodb'; const MongoClient = mongodb.MongoClient; const uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; const client = new MongoClient(uri, { useNewUrlParser: true }); client.connect(err => { const collection = client.db("<databaseName>").collection("<collectionName>"); // perform actions on the collection object client.close(); });
要连接到除 admin
之外的数据库,但仍对 admin
数据库进行身份验证,请更新连接字符串的 database
组件。
mongodb://username:password@host1:port1,...,hostN:portN/database?authSource=admin&...
例子
以下连接字符串指定 cluster0
部署和 test
数据库组件,并包含 authSource=admin
选项。
var uriTestDb = "mongodb+srv://<db_username>:<db_password>@cluster0.mongodb.net/test?ssl=true&authSource=admin&w=majority"; MongoClient.connect(uriTestDb, function(err, db) { db.close(); });
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 版本 3.1 及更高版本 |
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的Perl驾驶员版本。有关Perl驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
my $client = MongoDB->connect('mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority'); my $db = $client->get_database( '<databaseName>' );
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
MongoDB 4.2 | MongoDB 不再维护 Perl 驱动程序;驱动程序版本 2. 2. 2 最高支持 MongoDB 4. 2,可从 https://metacpan.org/pod/MongoDB 获取 |
行为
MongoDB 驱动程序在集群选举或故障转移事件后自动尝试选择服务器。默认情况下,如果 Perl 驱动程序第一次尝试选择服务器失败,则会立即引发错误。以下配置设置可提高应用程序与 Atlas 集群的连接性,但会在服务器选择循环中花费更多时间:
将 serverSelectionTryOnce 设置为
false
,指示 Perl 驱动程序在serverSelectionTimeoutMS
定义的时间限制内执行服务器选择。将 serverSelectionTimeoutMS 从默认值
30000
降低到15000
。MongoDB 选举通常需要 10 秒,但在 Atlas 上只需 5 秒。将此值设置为 15 秒(15000
毫秒)涵盖了选举的上限加上额外的延迟时间。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的PHP驾驶员版本。有关PHP驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
以下示例使用 MongoDB PHP 库,该库为较低级别的 PHP 驱动程序提供了高级抽象:
$client = new MongoDB\Client( 'mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority'); $db = $client-><databaseName>;
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | PHPLIB 1.4 + mongodb- 1.5 。 |
行为
MongoDB 驱动程序在集群选举或故障转移事件后自动尝试选择服务器。默认情况下,如果驱动程序第一次尝试选择服务器失败,则会立即引发错误。以下配置设置可提高应用程序与 Atlas 集群的连接性,但会在服务器选择循环中花费更多时间:
将 serverSelectionTryOnce 设置为
false
以指示驱动程序在serverSelectionTimeoutMS
定义的时间限制内执行服务器选择。将 serverSelectionTimeoutMS 从默认值
30000
降低到15000
。MongoDB 选举通常需要 10 秒,但在 Atlas 上只需 5 秒。将此值设置为 15 秒(15000
毫秒)涵盖了选举的上限加上额外的延迟时间。
注意
要连接到 Atlas M0
集群,您必须使用 Python 2.7.9 或更高版本,并使用支持 MongoDB 4.0 或更高版本的 Python 驱动程序版本。要了解 Python 驱动程序与 MongoDB 之间兼容性的更多信息,请参阅 MongoDB 兼容性矩阵。
import pymongo import dns # required for connecting with SRV client = pymongo.MongoClient("mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority") db = client.<databaseName>
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 版本 3.7 或更高版本 |
注意
macOS 和 Python 3.6安装
https://www.python.org 中适用于 macOS 的 Python 3. 6 安装程序不会自动安装任何 CA 证书。如果没有安装 CA 证书,与 Atlas 的连接将无法通过证书验证。
从 https://www.python.org 运行安装程序安装 Python 3.6 后,在连接 Atlas 之前,您必须运行以下脚本安装最新的 CA 捆绑包:
open "/Applications/Python 3.6/Install Certificates.command"
有关适用于 macOS 的 Python 3.6 安装程序的更多信息,请访问 https://www.python.org,请参阅 https://bugs.python.org/issue29065#msg283984。通过其他方式安装的早期版本的 Python 以及 Python 3.6(例如Homebrew)不受影响。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的Ruby驾驶员版本。有关Ruby驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
client = Mongo::Client.new('mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority')
要连接到除 admin
之外的数据库,但仍对 admin
数据库进行身份验证,请更新连接字符串的 database
组件。
mongodb://username:password@host1:port1,...,hostN:portN/database?authSource=admin&...
例子
以下连接字符串指定 cluster0
部署和 test
数据库组件,并包含 authSource=admin
选项。
client = Mongo::Client.new('mongodb+srv://<db_username>:<db_password>@cluster0.mongodb.net/test?ssl=true&replicaSet=Mycluster0-shard-0&authSource=admin&w=majority')
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
MongoDB 5.0 及更高版本 | 版本 2.6 或更高版本 |
Mongoid 示例
production: # Configure available database clients. (required) clients: # Defines the default client. (required) default: # Defines the name of the default database that Mongoid can connect to. # (required). database: 'myDatabaseName' # Provides the hosts the default client can connect to. Must be an array # of host:port pairs. (required) hosts: - mycluster0-shard-00-00.mongodb.net:27017 - mycluster0-shard-00-01.mongodb.net:27017 - mycluster0-shard-00-02.mongodb.net:27017 options: # The name of the user for authentication. user: <username> # The password of the user for authentication. password: <password> # The database or source to authenticate the user against. If the database # specified above is not admin, admin MUST be specified here. auth_source: admin # All Atlas servers use SSL. (default: false) ssl: true
MongoDB 版本 | 最低 ODM 版本 |
---|---|
MongoDB 5.0 及更高版本 |
驱动程序使用的默认异步运行时为 tokio
。要使用不同的运行时,请参阅配置异步运行时。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的Rust驾驶员版本。有关Rust驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
use mongodb::{options::ClientOptions, Client}; async fn main() -> mongodb::error::Result<()> { let client_options = ClientOptions::parse( "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority", ) .await?; let client = Client::with_options(client_options)?; let _database = client.database("<databaseName>"); // List the names of the databases in that cluster for db_name in client.list_database_names(None, None)? { println!("{}", db_name); } Ok(()) }
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
确保已启用同步 API。更多详情,请参阅启用同步 API。
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的Rust驾驶员版本。有关Rust驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
use mongodb::{bson::doc, sync::Client}; fn main() -> mongodb::error::Result<()> { let client_options = ClientOptions::parse( "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority", )?; // Ping the server to see if you can connect to the cluster client .database("admin") .run_command(doc! {"ping": 1}, None)?; println!("Connected successfully."); // List the names of the databases in that cluster for db_name in client.list_database_names(None, None)? { println!("{}", db_name); } Ok(()) }
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,必须使用支持MongoDB 4.0及更高版本的Scala驾驶员版本。有关Scala驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
val uri: String = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" System.setProperty("org.mongodb.async.type", "netty") val client: MongoClient = MongoClient(uri) val db: MongoDatabase = client.getDatabase("<databaseName>")
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的 Swift驾驶员版本。有关 Swift驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
import MongoSwift import NIO let elg = MultiThreadedEventLoopGroup(numberOfThreads: 4) let uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" let client = try MongoClient( uri, using: elg ) defer { // clean up driver resources try? client.syncClose() cleanupMongoSwift() // shut down EventLoopGroup try? elg.syncShutdownGracefully() } // print a list of database names to confirm connection print(try client.listDatabaseNames().wait())
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
注意
要连接到Atlas M0
免费集群或M2/M5
共享集群,您必须使用支持MongoDB 4.0及更高版本的 Swift驾驶员版本。有关 Swift驾驶员和MongoDB之间兼容性的完整文档,请参阅MongoDB兼容性矩阵。我们建议您升级到最新版本的驾驶员。
import MongoSwiftSync let uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" let client = try MongoClient(uri) // print a list of database names to confirm connection print (try client.listDatabaseNames())
MongoDB 版本 | 推荐的驱动程序版本 |
---|---|
所有 | 有关最新推荐的驱动程序版本,请参阅 MongoDB 兼容性矩阵。 |
故障排除
如果在连接到集群时遇到问题,请参阅解决连接问题。