连接集群
预计完成时间:5 分钟
您可以通过多种方式连接到集群。本教程介绍如下方法:
MongoDB Shell 是 MongoDB 的交互式命令行界面。您可以使用
mongosh
在 Atlas 集群上插入数据并与之交互。MongoDB Compass ,MongoDB 数据的 GUI。您可以使用 Compass 来浏览、修改和可视化数据。
MongoDB 驱动程序,用于以编程方式与 MongoDB 数据库通信。要查看所有支持的语言,请参阅 MongoDB 驱动程序文档。
➤ 使用选择语言下拉菜单来设置本教程的连接方法,包括 mongosh
和 Compass。
注意
如果你使用带有默认选项的 atlas setup
或 atlas quickstart
命令开始使用 Atlas,Atlas CLI 会为您提供 mongosh
命令来连接到集群。
必需的访问权限
要连接到集群,您必须是数据库用户。
先决条件
开始之前,请确认:
注意
必须在集群上设置数据库用户才能访问部署。出于安全考虑,Atlas 要求客户端以数据库用户身份进行身份验证,才能访问集群。
一个终端
要下载并安装mongosh
:
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
下载 MongoDB Shell。
如果使用 Windows 或 Linux,请使用以下选项之一进行下载:
单击 Download mongosh 开始下载。
单击Copy download URL将下载 URL复制到剪贴板,然后执行以下任一操作:
使用
curl
获取安装程序文件,或者将URL粘贴到浏览器窗口中。
从MongoDB Shell页面下载安装程序。
如果您使用的是 macOS,则可以使用提供的 Homebrew 命令下载 Shell。
安装 MongoDB Shell。
根据您的操作系统选择相应的标签页:
使用以下选项之一进行下载:
单击 Download mongosh 开始下载。
单击Copy download URL将下载URL复制到剪贴板,然后执行以下任一操作:
使用
curl
从URL获取安装程序文件,或者将URL粘贴到浏览器窗口中。
从MongoDB Shell页面下载安装程序。
从下载的存档中提取文件。
将
mongosh
二进制文件添加到PATH
环境变量中。确保提取的 MongoDB Shell 二进制文件位于文件系统中的所需位置,然后将该位置添加到
PATH
环境变量中。打开 Control Panel。
在 System and Security 类别中,单击 System。
单击 Advanced system settings(添加 OAuth 作用域)。会显示 System Properties(创建应用)模式。
单击 Environment Variables(连接)。
选择 Path,然后单击 Edit。
点击 New,将文件路径添加到
mongosh
二进制文件中。
使用提供的 Homebrew 命令。
从 Atlas 用户界面窗口复制 Homebrew 命令并在终端中运行。
使用以下选项之一下载安装程序:
单击 Download mongosh 开始下载。
单击Copy download URL将下载URL复制到剪贴板,然后执行以下任一操作:
使用
curl
从URL获取安装程序文件,或者将URL粘贴到浏览器窗口中。
从MongoDB Shell页面下载安装程序。
安装
mongosh
软件包。
您现在应该能够使用终端运行mongosh
。
测试您的 MongoDB Shell 安装。
要查看是否已正确将mongosh
添加到系统路径,请在终端中运行以下命令:
mongosh --version
您应该看到类似于以下内容的输出:
0.14.0
Java 开发工具包 (JDK) 版本 8 或更高版本。
使用 Maven 或 Gradle 来安装驱动程序依赖项。我们建议使用 IntelliJ IDEA 或 Eclipse IDE 等集成开发环境 (IDE) 来配置依赖关系。
要配置 Maven 或 Gradle 以构建和运行项目,请参阅将 MongoDB 添加为依赖关系。
一个终端。
一款文本编辑器。
Python 。要下载适用于您的操作系统的最新版本的 Python,请参阅 Python 下载页面。
pip 包安装程序。从 Python 2.7.9 开始和 Python 3.4,从 https://python.org 下载的软件包包括
pip
。要手动安装pip
,请参见 pip 安装页面。此软件包包含 Python。
要安装名为PyMongo 的 Python 驱动程序,请执行以下操作:
安装 PyMongo 驱动程序。
在终端中运行以下命令:
python -m pip install "pymongo[snappy,gssapi,srv,tls]"
此命令会安装 PyMongo 驱动程序以及该驱动程序的一些依赖项。要了解更多信息,请参阅 Python 驱动程序安装页面 在 GitHub 上。
连接到 Atlas 集群
在本部分中,您将从 Atlas 用户界面获取集群的连接字符串,并使用您的首选连接方法连接到集群。
要了解所有支持的方法,请参阅连接到您的 Cloud 集群。有关其他驱动程序示例,请参阅通过驱动程序连接。
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
打开 MongoDB Compass 并连接到 Atlas。
如果您的部署使用单个云提供商或不使用 SSL、身份验证证书或 SSH 隧道,请使用复制的连接字符串连接到 MongoDB Compass。
单击 New Connection,然后将连接字符串粘贴到 Paste your connection string 字段中。
(可选)要保存此连接以供将来使用,请单击 Create Favorite 并为此连接添加一个名称。您可以在 MongoDB Compass Connect 窗口左侧窗格中的 Favorites 下找到已保存的收藏连接。
单击 Connect(连接)。
如果您的部署跨越多个云提供商或者使用以下其中一项:SSL、身份验证证书或 SSH 隧道,请单独填写连接字段。
单击 Fill in Connection Fields Individually(连接)。
在 hostname 标签页下,输入主机名和端口,然后从下拉列表中选择身份验证机制。
在 More options 选项卡下,配置以下内容:
如果您的部署使用 SSL 或 SSH 隧道,请指定 SSL 或 SSH 隧道选项。
如果您的部署跨越多个云提供商,请指定读取偏好选项。
如果您的部署使用 X. 509证书,请添加自管理的 X. 509证书或由 Atlas 管理的自动生成的 X. 509证书。
要了解更多信息,请参阅 MongoDB Compass 文档中的连接到 MongoDB 。
(可选)要保存此连接以供将来使用,请单击 Create Favorite 并为此连接添加一个名称。您可以在 MongoDB Compass Connect 窗口左侧窗格中的 Favorites 下找到已保存的收藏连接。
单击 Connect(连接)。
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
单击Drivers 。
在连接模态框中,单击 Drivers。
配置提供的连接字符串。
将 <password>
替换为您创建数据库用户时指定的密码。
注意
如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123
,则在连接字符串中指定密码时必须对 @
字符进行转义,例如 %40bc123
。要了解详情,请参阅连接字符串密码中的特殊字符。
使用样本应用程序进行连接。
以下示例应用程序使用连接字符串连接到 Atlas 集群,并发送网络探测(ping)以确认连接成功。要测试示例应用程序,请执行以下操作:
创建一个名为
connect
的新目录,并使用dotnet new
命令初始化项目。mkdir connect cd connect dotnet new console 运行以下命令,将 .NET/C# 驱动程序作为依赖项添加到项目中:
dotnet add package MongoDB.Driver 将
Program.cs
文件的内容替换为以下代码。确保将占位符替换为更新的连接字符串:1 using MongoDB.Bson; 2 using MongoDB.Driver; 3 4 public class Connect 5 { 6 // Replace the following with your Atlas connection string 7 private const string MongoConnectionString = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; 8 9 public static void Main(string[] args) 10 { 11 // Connect to your Atlas cluster 12 var client = new MongoClient(MongoConnectionString); 13 14 // Send a ping to confirm a successful connection 15 try { 16 var result = client.GetDatabase("admin").RunCommand<BsonDocument>(new BsonDocument("ping", 1)); 17 Console.WriteLine("Successfully connected to Atlas"); 18 } 19 catch (Exception e) { Console.WriteLine(e);} 20 } 21 } 要运行您的应用程序,请使用以下命令:
dotnet run Program.cs Successfully connected to Atlas
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
单击Drivers 。
在连接模态框中,单击 Drivers。
配置提供的连接字符串。
将 <password>
替换为您创建数据库用户时指定的密码。
注意
如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123
,则在连接字符串中指定密码时必须对 @
字符进行转义,例如 %40bc123
。要了解详情,请参阅连接字符串密码中的特殊字符。
使用样本应用程序进行连接。
以下示例应用程序使用连接字符串连接到 Atlas 集群,并发送网络探测(ping)以确认连接成功。要测试示例应用程序,请执行以下操作:
创建一个名为
connect
的新目录,并使用go mod
命令初始化项目。mkdir connect cd connect go mod init connect 运行以下命令以下载 Go 驱动程序和驱动程序依赖项:
go get go.mongodb.org/mongo-driver/mongo go get github.com/joho/godotenv 在你的项目中,创建一个名为
connect.go
的新文件并粘贴以下代码。确保将占位符替换为你的更新的连接字符串:1 package main 2 3 import ( 4 "context" 5 "fmt" 6 7 "go.mongodb.org/mongo-driver/bson" 8 "go.mongodb.org/mongo-driver/mongo" 9 "go.mongodb.org/mongo-driver/mongo/options" 10 ) 11 12 func main() { 13 14 // Replace the following with your Atlas connection string 15 uri := "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" 16 17 // Connect to your Atlas cluster 18 client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) 19 if err != nil { 20 panic(err) 21 } 22 defer client.Disconnect(context.TODO()) 23 24 // Send a ping to confirm a successful connection 25 var result bson.M 26 if err := client.Database("admin").RunCommand(context.TODO(), bson.D{{"ping", 1}}).Decode(&result); err != nil { 27 panic(err) 28 } 29 fmt.Println("Successfully connected to Atlas") 30 } 要运行您的应用程序,请使用以下命令:
go run connect.go Successfully connected to Atlas
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
单击Drivers 。
在连接模态框中,单击 Drivers。
配置提供的连接字符串。
将 <password>
替换为您创建数据库用户时指定的密码。
注意
如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123
,则在连接字符串中指定密码时必须对 @
字符进行转义,例如 %40bc123
。要了解详情,请参阅连接字符串密码中的特殊字符。
使用样本应用程序进行连接。
以下示例应用程序使用连接字符串连接到 Atlas 集群,并发送 ping 以确认连接成功。要测试样本应用程序,请将以下代码复制到名为Connect.java
的文件中。
将占位符替换为更新的连接字符串:
1 import com.mongodb.*; 2 import org.bson.BsonDocument; 3 import org.bson.BsonInt64; 4 import org.bson.Document; 5 import org.bson.conversions.Bson; 6 7 import com.mongodb.client.MongoClient; 8 import com.mongodb.client.MongoClients; 9 import com.mongodb.client.MongoDatabase; 10 11 public class Connect { 12 public static void main(String[] args) { 13 // Replace the placeholder with your Atlas connection string 14 String uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; 15 16 // Construct a ServerApi instance using the ServerApi.builder() method 17 ServerApi serverApi = ServerApi.builder() 18 .version(ServerApiVersion.V1) 19 .build(); 20 21 MongoClientSettings settings = MongoClientSettings.builder() 22 .applyConnectionString(new ConnectionString(uri)) 23 .serverApi(serverApi) 24 .build(); 25 26 // Create a new client and connect to the server 27 try (MongoClient mongoClient = MongoClients.create(settings)) { 28 MongoDatabase database = mongoClient.getDatabase("admin"); 29 try { 30 // Send a ping to confirm a successful connection 31 Bson command = new BsonDocument("ping", new BsonInt64(1)); 32 Document commandResult = database.runCommand(command); 33 System.out.println("Successfully connected to Atlas"); 34 } catch (MongoException e) { 35 System.err.println(e); 36 } 37 } 38 } 39 }
使用 IDE 或以下命令编译并运行 Connect.java
文件:
javac Connect.java java Connect
Successfully connected to Atlas
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
单击Drivers 。
在连接模态框中,单击 Drivers。
配置提供的连接字符串。
将 <password>
替换为您创建数据库用户时指定的密码。
注意
如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123
,则在连接字符串中指定密码时必须对 @
字符进行转义,例如 %40bc123
。要了解详情,请参阅连接字符串密码中的特殊字符。
使用样本应用程序进行连接。
以下样本应用程序使用连接字符串连接到 Atlas 集群并返回确认消息。要测试样本应用程序,请将以下代码复制到名为 connect.js
的文件中。
将占位符替换为更新的连接字符串:
1 const { MongoClient } = require("mongodb"); 2 3 // Replace the following with your Atlas connection string 4 const url = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; 5 6 // Connect to your Atlas cluster 7 const client = new MongoClient(url); 8 9 async function run() { 10 try { 11 await client.connect(); 12 console.log("Successfully connected to Atlas"); 13 14 } catch (err) { 15 console.log(err.stack); 16 } 17 finally { 18 await client.close(); 19 } 20 } 21 22 run().catch(console.dir);
要运行样本应用程序,请使用以下命令:
node connect.js
Successfully connected to Atlas
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
单击Drivers 。
在连接模态框中,单击 Drivers。
配置提供的连接字符串。
将 <password>
替换为您创建数据库用户时指定的密码。
注意
如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123
,则在连接字符串中指定密码时必须对 @
字符进行转义,例如 %40bc123
。要了解详情,请参阅连接字符串密码中的特殊字符。
后续步骤
现在您已连接到集群,请接着在集群中插入和查看数据。