Docs 菜单
Docs 主页
/
MongoDB 阿特拉斯
/

连接集群

在此页面上

  • 必需的访问权限
  • 先决条件
  • 连接到 Atlas 集群
  • 后续步骤

预计完成时间:5 分钟

您可以通过多种方式连接到集群。本教程介绍如下方法:

➤ 使用选择语言下拉菜单来设置本教程的连接方法,包括 mongoshCompass

注意

如果你使用带有默认选项的 atlas setupatlas quickstart 命令开始使用 Atlas,Atlas CLI 会为您提供 mongosh 命令来连接到集群。

要连接到集群,您必须是数据库用户。

开始之前,请确认:

要下载并安装mongosh

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3
4

从下拉列表中选择您的操作系统。

5
  • 如果使用 WindowsLinux,请使用以下选项之一进行下载:

    • 单击 Download mongosh 开始下载。

    • 单击Copy download URL将下载 URL复制到剪贴板,然后执行以下任一操作:

      • 使用 curl 获取安装程序文件,或者

      • URL粘贴到浏览器窗口中。

  • 如果您使用的是 macOS,则可以使用提供的 Homebrew 命令下载 Shell。

6

根据您的操作系统选择相应的标签页:

  1. 使用以下选项之一进行下载:

    • 单击 Download mongosh 开始下载。

    • 单击Copy download URL将下载URL复制到剪贴板,然后执行以下任一操作:

      • 使用curlURL获取安装程序文件,或者

      • URL粘贴到浏览器窗口中。

  2. 从下载的存档中提取文件。

  3. mongosh 二进制文件添加到 PATH 环境变量中。

    确保提取的 MongoDB Shell 二进制文件位于文件系统中的所需位置,然后将该位置添加到 PATH 环境变量中。

    1. 打开 Control Panel

    2. System and Security 类别中,单击 System

    3. 单击 Advanced system settings(添加 OAuth 作用域)。会显示 System Properties(创建应用)模式。

    4. 单击 Environment Variables(连接)。

    5. 选择 Path,然后单击 Edit

    6. 点击 New,将文件路径添加到 mongosh 二进制文件中。

  1. 使用提供的 Homebrew 命令。

  2. 从 Atlas 用户界面窗口复制 Homebrew 命令并在终端中运行。

  1. 使用以下选项之一下载安装程序:

    • 单击 Download mongosh 开始下载。

    • 单击Copy download URL将下载URL复制到剪贴板,然后执行以下任一操作:

      • 使用curlURL获取安装程序文件,或者

      • URL粘贴到浏览器窗口中。

    注意

    下载的文件类型取决于所选的操作系统。如果您选择以下版本:

    • Ubuntu 或 Debian 您会收到一个 .deb 包。

    • RHEL、Amazon Linux 或 SUSE,您会收到.rpm包。

    如果您的操作系统未列出,请参阅 文档中的 .tgz 安装说明 mongosh

  2. 安装mongosh软件包。

    使用dpkg安装mongosh

    sudo dpkg -i mongodb-mongosh_<mongosh-version-and-platform>.deb

    使用rpm安装mongosh

    sudo rpm -i mongodb-mongosh_<mongosh-version-and-platform>.rpm

您现在应该能够使用终端运行mongosh

7

要查看是否已正确将mongosh添加到系统路径,请在终端中运行以下命令:

mongosh --version

您应该看到类似于以下内容的输出:

0.14.0

要下载并安装 MongoDB Compass:

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Compass

4

单击I do not have MongoDB Compass 。从下拉列表中选择您的操作系统。

5
6
  • 一个终端。

  • 一款文本编辑器。

  • Go

  • 一个 Go 项目。要初始化项目,请使用 go mod 命令。如需了解更多信息,请参阅 Go 快速入门

要配置 Maven 或 Gradle 以构建和运行项目,请参阅将 MongoDB 添加为依赖关系。

要安装Node.js 驱动程序,请在终端提示符下运行以下命令:

npm install mongodb --save
  • 一个终端。

  • 一款文本编辑器。

  • Python 。要下载适用于您的操作系统的最新版本的 Python,请参阅 Python 下载页面。

  • pip 包安装程序。从 Python 2.7.9 开始和 Python 3.4,从 https://python.org 下载的软件包包括 pip。要手动安装 pip,请参见 pip 安装页面。此软件包包含 Python。

要安装名为PyMongo 的 Python 驱动程序,请执行以下操作:

1
2

在终端中运行以下命令:

python -m pip install "pymongo[snappy,gssapi,srv,tls]"

此命令会安装 PyMongo 驱动程序以及该驱动程序的一些依赖项。要了解更多信息,请参阅 Python 驱动程序安装页面 在 GitHub 上。

3

测试 PyMongo 安装,确保可以成功连接到集群。

  1. 运行以下命令,打开 Python Shell:

    python
  2. 通过在 Python Shell 中运行以下命令来导入 PyMongo:

    import pymongo
  3. 使用以下命令检查 PyMongo 版本:

    pymongo.version

    如果 PyMongo 安装正确,您应该看到类似于以下内容的输出:

    '3.11.0'

在本部分中,您将从 Atlas 用户界面获取集群的连接字符串,并使用您的首选连接方法连接到集群。

要了解所有支持的方法,请参阅连接到您的 Cloud 集群。有关其他驱动程序示例,请参阅通过驱动程序连接。

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Shell

4
5

这是特定于您的 Atlas 集群的唯一连接字符串。Atlas 会将连接字符串的 username 替换为您之前在此操作步骤中创建的数据库用户的用户名。

6
7

出现提示时,输入数据库用户的密码。系统会提示您输入在 Atlas 中创建数据库用户时指定的密码。

您现在应该已连接到mongosh中的 Atlas 集群。您的终端应显示类似下面的内容:

MongoDB Enterprise GettingStarted-shard-0:PRIMARY>

重要

连接故障排除

如果您在连接集群时遇到问题,请仔细检查您是否已将 IP 地址添加到 IP 访问列表中,以及您指定的数据库用户凭证是否正确。如果忘记了数据库用户凭证,可以随时创建新的数据库用户

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3
  1. 单击 I have MongoDB Compass(连接)。

  2. 从下拉列表中选择您的 MongoDB Compass 版本。要检查系统上安装的 MongoDB Compass 版本,请单击应用程序中的 About MongoDB Compass

  3. 复制 Atlas Connect对话框中显示的连接字符串。

4

如果您的部署使用单个云提供商或不使用 SSL、身份验证证书或 SSH 隧道,请使用复制的连接字符串连接到 MongoDB Compass。

  1. 单击 New Connection,然后将连接字符串粘贴到 Paste your connection string 字段中。

  2. (可选)要保存此连接以供将来使用,请单击 Create Favorite 并为此连接添加一个名称。您可以在 MongoDB Compass Connect 窗口左侧窗格中的 Favorites 下找到已保存的收藏连接。

  3. 单击 Connect(连接)。

如果您的部署跨越多个云提供商或者使用以下其中一项:SSL、身份验证证书或 SSH 隧道,请单独填写连接字段。

  1. 单击 Fill in Connection Fields Individually(连接)。

  2. hostname 标签页下,输入主机名和端口,然后从下拉列表中选择身份验证机制。

  3. More options 选项卡下,配置以下内容:

    要了解更多信息,请参阅 MongoDB Compass 文档中的连接到 MongoDB

  4. (可选)要保存此连接以供将来使用,请单击 Create Favorite 并为此连接添加一个名称。您可以在 MongoDB Compass Connect 窗口左侧窗格中的 Favorites 下找到已保存的收藏连接。

  5. 单击 Connect(连接)。

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Drivers

4

从下拉列表中选择您的驱动程序版本。此时将显示连接字符串。

5
6

<password> 替换为您创建数据库用户时指定的密码。

注意

如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123,则在连接字符串中指定密码时必须对 @ 字符进行转义,例如 %40bc123。要了解详情,请参阅连接字符串密码中的特殊字符

7

以下示例应用程序使用连接字符串连接到 Atlas 集群,并发送网络探测(ping)以确认连接成功。要测试示例应用程序,请执行以下操作:

  1. 创建一个名为 connect 的新目录,并使用 dotnet new 命令初始化项目。

    mkdir connect
    cd connect
    dotnet new console
  2. 运行以下命令,将 .NET/C# 驱动程序作为依赖项添加到项目中:

    dotnet add package MongoDB.Driver
  3. Program.cs文件的内容替换为以下代码。确保将占位符替换为更新的连接字符串:

    1using MongoDB.Bson;
    2using MongoDB.Driver;
    3
    4public 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}
  4. 要运行您的应用程序,请使用以下命令:

    dotnet run Program.cs
    Successfully connected to Atlas
1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Drivers

4

从下拉列表中选择您的驱动程序版本。此时将显示连接字符串。

5
6

<password> 替换为您创建数据库用户时指定的密码。

注意

如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123,则在连接字符串中指定密码时必须对 @ 字符进行转义,例如 %40bc123。要了解详情,请参阅连接字符串密码中的特殊字符

7

以下示例应用程序使用连接字符串连接到 Atlas 集群,并发送网络探测(ping)以确认连接成功。要测试示例应用程序,请执行以下操作:

  1. 创建一个名为 connect 的新目录,并使用 go mod 命令初始化项目。

    mkdir connect
    cd connect
    go mod init connect
  2. 运行以下命令以下载 Go 驱动程序和驱动程序依赖项:

    go get go.mongodb.org/mongo-driver/mongo
    go get github.com/joho/godotenv
  3. 在你的项目中,创建一个名为connect.go的新文件并粘贴以下代码。确保将占位符替换为你的更新的连接字符串:

    1package main
    2
    3import (
    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
    12func 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}
  4. 要运行您的应用程序,请使用以下命令:

    go run connect.go
    Successfully connected to Atlas
1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Drivers

4

从下拉列表中选择您的驱动程序版本。此时将显示连接字符串。

5
6

<password> 替换为您创建数据库用户时指定的密码。

注意

如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123,则在连接字符串中指定密码时必须对 @ 字符进行转义,例如 %40bc123。要了解详情,请参阅连接字符串密码中的特殊字符

7

以下示例应用程序使用连接字符串连接到 Atlas 集群,并发送 ping 以确认连接成功。要测试样本应用程序,请将以下代码复制到名为Connect.java的文件中。

将占位符替换为更新的连接字符串:

1import com.mongodb.*;
2import org.bson.BsonDocument;
3import org.bson.BsonInt64;
4import org.bson.Document;
5import org.bson.conversions.Bson;
6
7import com.mongodb.client.MongoClient;
8import com.mongodb.client.MongoClients;
9import com.mongodb.client.MongoDatabase;
10
11public 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
1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Drivers

4

从下拉列表中选择您的驱动程序版本。此时将显示连接字符串。

5
6

<password> 替换为您创建数据库用户时指定的密码。

注意

如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123,则在连接字符串中指定密码时必须对 @ 字符进行转义,例如 %40bc123。要了解详情,请参阅连接字符串密码中的特殊字符

7

以下样本应用程序使用连接字符串连接到 Atlas 集群并返回确认消息。要测试样本应用程序,请将以下代码复制到名为 connect.js 的文件中。

将占位符替换为更新的连接字符串:

1const { MongoClient } = require("mongodb");
2
3// Replace the following with your Atlas connection string
4const url = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority";
5
6// Connect to your Atlas cluster
7const client = new MongoClient(url);
8
9async 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
22run().catch(console.dir);

要运行样本应用程序,请使用以下命令:

node connect.js
Successfully connected to Atlas
1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

单击要连接的集群的Connect

3

连接模态框中,单击 Drivers

4

此时将显示连接字符串。

5
6

<password> 替换为您创建数据库用户时指定的密码。

注意

如果您的密码、数据库名称或连接字符串包含保留的 URI 字符,则必须对这些字符进行转义。例如,如果您的密码是 @bc123,则在连接字符串中指定密码时必须对 @ 字符进行转义,例如 %40bc123。要了解详情,请参阅连接字符串密码中的特殊字符

7

要连接到正在运行的 MongoDB 实例,PyMongo 需要MongoClient 。在终端运行的 Python Shell 中,运行以下命令以导入MongoClient

from pymongo import MongoClient
8

创建指定用于连接到集群的客户端的命令。

  1. 在 Python Shell 中,将更新的连接字符串粘贴到以下命令中:

    client = MongoClient('<connection-string>')
  2. 使用数据库用户密码更新连接字符串。

  3. 确认已将连接字符串括在单引号中。

  4. 运行生成的命令。它指定将连接到集群的客户端。

  5. 使用此客户端连接到您的集群。

现在您已连接到集群,请接着在集群中插入和查看数据