

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 开始使用 Amazon DocumentDB
<a name="get-started-guide"></a>

有许多连接和开始使用 Amazon DocumentDB 的方式。本指南是用户开始使用我们强大文档数据库的最快捷、最简便的方法。本指南使用 [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) 直接从 AWS 管理控制台 连接和查询 Amazon DocumentDB 集群。有资格使用 AWS 免费套餐的新客户可免费使用 Amazon DocumentDB 和 CloudShell。如果您的 AWS CloudShell 环境或 Amazon DocumentDB 集群使用免费套餐之外的资源，您需要以正常的 AWS 费率为这些资源付费。本指南将让您在五分钟内入门 Amazon DocumentDB。

**注意**  
本指南中的说明专门用于创建和连接基于 Amazon DocumentDB 实例的集群（Amazon DocumentDB 和 AWS CloudShell 在其中可用）。  
如果您想要创建并连接到 Amazon DocumentDB 弹性集群，请参阅 [开始使用 Amazon DocumentDB 弹性集群](elastic-get-started.md)。
如果您位于 AWS 中国区域，请参阅 [自动连接 Amazon EC2](connect-ec2-auto.md)。

**Topics**
+ [先决条件](#quickstart-prerequisites)
+ [步骤 1：创建集群](#get-start-cluster)
+ [步骤 2：连接到集群](#get-start-connectcluster)
+ [步骤 3：插入和查询数据](#get-start-insert-query)
+ [步骤 4：探索](#get-start-congrats)

## 先决条件
<a name="quickstart-prerequisites"></a>

在创建第一个 Amazon DocumentDB 集群之前，您必须执行以下操作：

**已创建 Amazon Web Services（AWS）账户**  
在开始使用 Amazon DocumentDB 之前，您必须拥有 Amazon Web Services（AWS）账户。AWS 账户是免费的。您只需为使用的服务和资源付费。  
如果您还没有 AWS 账户，请完成以下步骤来创建一个。  

**注册 AWS 账户**

1. 打开 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册 AWS 账户 时，系统将会创建一个 *AWS 账户根用户*。根用户有权访问该账户中的所有 AWS 服务和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

**设置所需的 AWS Identity and Access Management（IAM）权限。**  
访问以管理 Amazon DocumentDB 资源（如集群、实例和集群参数组）时需要提供 AWS可用来验证请求身份的凭证。有关更多信息，请参阅 [适用于 Amazon DocumentDB 的 Identity and Access Management](security-iam.md)。  

1. 在 AWS 管理控制台 的搜索栏中，键入 IAM并且在出现的下拉菜单中选择 **IAM**。

1. 一旦您进入 IAM 控制台，就从导航窗格中选择**用户**。

1. 选择您的用户名。

1. 单击**添加更多权限**。

1. 选择**直接附加策略**。

1. 在搜索栏中键入 `AmazonDocDBFullAccess`，并且一旦它出现在搜索结果中就选择之。

1. 单击**下一步**。

1. 单击**添加更多权限**。

****  
您的 AWS 账户在每个区域中均包含一个默认 VPC。如果您选择使用 Amazon VPC，请完成《Amazon VPC 用户指南》**中的[创建 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) 主题。

## 步骤 1：创建集群
<a name="get-start-cluster"></a>

在这一步骤中，您将创建 Amazon DocumentDB 集群。

1. 登录到 AWS 管理控制台 并打开 Amazon DocumentDB 控制台，网址：[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. 在 Amazon DocumentDB 管理控制台上，**集群**下，选择**创建**。  
![\[空的“集群”控制面板，其中具有用于创建新集群和管理资源的选项。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/ec-gs-start.png)

1. 在“创建 Amazon DocumentDB 集群”页面上，在**集群类型**部分中选择**基于实例的集群**（这是默认选项）。  
![\[集群类型选择突出显示了“基于实例的集群”选项，并描述了两种集群类型。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/create-cluster/cluster-type.png)
**注意**  
此类别中的另一个选项是**弹性集群**。要了解有关 Amazon DocumentDB 弹性集群的更多信息，请参阅 [Amazon DocumentDB 弹性集群](docdb-using-elastic-clusters.md)。

1. 在**集群配置**部分中：

   1. 在**集群标识符**中，输入唯一名称，例如 **mydocdbcluster**。请注意，无论如何输入，控制台都会将所有集群的名称更改为小写。

   1. 对于**主引擎版本**，选择 **5.0.0**。  
![\[数据库集群的配置表单，其中包含标识符和引擎版本等字段。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/create-cluster/cluster-config.png)

1. 在**集群存储配置**部分，选择 **Amazon DocumentDB 标准**（此为默认选项）。  
![\[存储类型选择，其中突出显示了“Amazon DocumentDB 标准”选项，并描述了两种存储类型。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/create-cluster/cluster-storage.png)
**注意**  
此类别中的另一个选项是 **Amazon DocumentDB I/O 优化**。要了解有关任一选项的更多信息，请参阅 [Amazon DocumentDB 集群存储配置](db-cluster-storage-configs.md)

1. 在**实例配置**部分：

   1. 对于**数据库实例类**，选择**内存优化类（包括 r 类）**（这是默认值）。

      另一个实例选项是 **NVMe 支持的类**。要了解更多信息，请参阅[NVMe 支持的实例](db-instance-nvme.md)。

   1. 对于**实例类**，请选择 **db.t3.medium**。这符合获得 AWS 免费试用的资格。

   1. 对于**实例数**，选择 **1** 个实例。选择一个实例有助于成本最小化。如果这是生产系统，我们建议您预配置三个实例以便可用性高。  
![\[数据库实例的配置表单，其中包含数据库实例类、支持的实例类和实例数量等字段。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/create-cluster/instance-config.png)

1. 在**连接**部分中，保留默认设置：**不连接到 EC2 计算资源**。  
![\[数据库的“连接”设置，具有连接到或不连接到 EC2 计算资源的选项。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/create-cluster/cluster-connectivity-no-ec2.png)

1. 在**身份验证**部分中，输入主要用户的用户名，然后选择**自行管理**。输入密码，然后确认密码。

   如果您改为选择了**在 AWS Secrets Manager 中管理**，请参阅 [使用 Amazon DocumentDB 进行密码管理以及 AWS Secrets Manager](docdb-secrets-manager.md) 以了解更多信息。  
![\[身份验证类型选择，其中突出显示了“在 AWS Secrets Manager 中管理”选项，并且描述了两种身份验证类型。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/create-cluster/cluster-auth-self.png)

1. 使其他所有选项保持默认，并选择**创建集群**。

Amazon DocumentDB 现在正配置您的集群，这可能耗时长达数分钟完成。

**注意**  
有关集群状态值的信息，请参阅“监控 Amazon DocumentDB”一章中的 [集群状态值](monitoring_docdb-cluster_status.md#monitoring_docdb-status_values)。

## 步骤 2：连接到集群
<a name="get-start-connectcluster"></a>

使用 AWS CloudShell 连接到 Amazon DocumentDB 集群。

1. 在 Amazon DocumentDB 管理控制台上的**集群**下，找到您创建的集群。单击集群旁边的复选框，选择您的集群。  
![\[Amazon DocumentDB 集群管理界面显示了包含主实例详细信息的区域集群\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/cluster-connect-cloud-shell.png)

1. 单击**连接到集群**（位于**操作**下拉菜单旁边）。只有在您单击集群旁边的复选框并且区域集群和主实例的状态都显示为**可用**后，才会启用此按钮。将出现 CloudShell **运行命令**屏幕。

1. 在**新环境名称**字段中，输入唯一名称，例如“test”，然后单击**创建并运行**。将自动为您的 Amazon DocumentDB 数据库配置 VPC 环境详细信息。  
![\[集群 CloudShell“运行命令”屏幕，其中显示请求新的环境名称\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/ec-gs-run-command.png)

1. 出现提示时，输入您在“步骤 1：创建 Amazon DocumentDB 集群”（子步骤 7）中创建的密码。  
![\[集群 CloudShell 屏幕，其中显示请求用户密码\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/ec-gs-cs-password.png)

   在您输入密码并且提示符变成 `rs0 [direct: primary] <env-name>>` 后，表示您已成功连接到您的 Amazon DocumentDB 集群。

**注意**  
有关对 流进行问题排查的更多信息，请参阅 [Amazon DocumentDB 问题排查](https://docs.aws.amazon.com/documentdb/latest/developerguide/troubleshooting.html)。

## 步骤 3：插入和查询数据
<a name="get-start-insert-query"></a>

现在，您已连接到自己的集群，您可以运行几个查询来熟悉如何使用文档数据库。

1. 要插入单个文档，请输入以下内容：

   ```
   db.collection.insertOne({"hello":"DocumentDB"})
   ```

   您会得到以下输出：

   ```
   {
     acknowledged: true,
     insertedId: ObjectId('673657216bdf6258466b128c')
   }
   ```

1. 您可以读取您用 `findOne()` 命令编写过的文档（因为它只返回单个文档）。输入以下：

   ```
   db.collection.findOne()
   ```

   您会得到以下输出：

   ```
   { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
   ```

1. 要执行若干更多查询，请考虑游戏个人资料用例。首先，将几个条目插入标题为 `profiles` 的集合。输入以下：

   ```
   db.profiles.insertMany([{ _id: 1, name: 'Matt', status: 'active', level: 12, score: 202 }, 
         { _id: 2, name: 'Frank', status: 'inactive', level: 2, score: 9 }, 
         { _id: 3, name: 'Karen', status: 'active', level: 7, score: 87 }, 
         { _id: 4, name: 'Katie', status: 'active', level: 3, score: 27 }
   ])
   ```

   您会得到以下输出：

   ```
   { acknowledged: true, insertedIds: { '0': 1, '1': 2, '2': 3, '3': 4 } }
   ```

1. 使用 `find()` 命令返回个人资料集合中的所有文档。输入以下：

   ```
   db.profiles.find()
   ```

   您将获得将与您在步骤 3 中已键入数据匹配的输出。

1. 利用筛选器对单个文档使用查询。输入以下：

   ```
   db.profiles.find({name: "Katie"})
   ```

   您会得到以下输出：

   ```
   { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
   ```

1. 现在，让我们尝试查找个人资料并使用 `findAndModify` 命令修改它。我们将用以下代码向用户 Matt 给予额外的 10 分：

   ```
   db.profiles.findAndModify({
           query: { name: "Matt", status: "active"},
           update: { $inc: { score: 10 } }
       })
   ```

   你得到以下输出（请注意，他的分数尚未增加）：

   ```
   {
       [{_id : 1, name : 'Matt', status: 'active', level: 12, score: 202}]
   ```

1. 你可以借助以下查询验证他的分数是否已变化：

   `db.profiles.find({name: "Matt"})`

   您会得到以下输出：

   ```
   { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }
   ```

## 步骤 4：探索
<a name="get-start-congrats"></a>

恭喜您！您已成功完成基于 Amazon DocumentDB 实例的集群入门指南。

接下来做什么？ 了解如何充分利用这个数据库及其热门功能：
+  [管理 Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/managing-documentdb.html) 
+  [扩展](https://docs.aws.amazon.com/documentdb/latest/developerguide/operational_tasks.html) 
+  [备份和还原](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore.html) 

**注意**  
您通过此入门练习创建的集群将持续产生费用，除非您将其删除。有关说明，请参阅[删除 Amazon DocumentDB 集群](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-delete.html)。