创建、查看、删除和对集合进行分片
您可以使用 Atlas UI 来管理集群中的集合。
所需角色
下表描述了在 Atlas 用户界面中对数据库执行各种动作所需的角色:
操作 | 所需角色 |
---|---|
创建集合 | |
查看集合 | 至少是 Project Data Access Read Only 角色。 |
删除集合 | |
碎片集合 |
创建集合
提示
要在新数据库中创建第一个集合,请参阅创建数据库。
重要
您无法在 config
和 system
数据库上创建新集合。在不久的将来,Atlas 将不再支持向这些数据库上的现有集合写入数据。
要通过 Atlas 用户界面在现有数据库中创建集合:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(部署)。
显示 集群页面。
转到Collections 页面。
单击集群的对应 Browse Collections 按钮。
显示数据浏览器。
可选。指定固定大小集合。
选择集合是否为固定大小集合。如果选择创建有固定大小集合,请指定最大大小(以字节为单位)。
可选。指定时间序列集合。
选择该数据集是否为时间序列集合。如果选择创建时间序列集合,请指定时间字段和粒度。您可以选择指定元字段以及使集合中旧数据过期的时间。
查看集合
要查看部署中的数据库和集合,请执行以下操作:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(部署)。
会显示集群页面。
转到Collections 页面。
单击集群的对应 Browse Collections 按钮。
显示数据浏览器。
查看数据库中的集合。
单击数据库名称。
注意
Atlas 在此标签页上显示的文档计数是基于缓存的元数据并使用 collStats 得出的。此计数可能与集合中的实际文档计数不同。例如,意外关机可能会引发计数失败。请使用 db.collection.countDocuments()方法获得最准确的文档计数。
可视化集合数据
启动 MongoDB Charts 以可视化数据库和集合中的数据。
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(部署)。
会显示集群页面。
转到Collections 页面。
单击集群的对应 Browse Collections 按钮。
显示数据浏览器。
启动 MongoDB Charts。
要从 Atlas 用户界面可视化 MongoDB Charts 中的数据,请在查看特定数据库或集合时单击 Visualize Your Data(可视化您的数据)。Charts 将加载数据源,而您可以开始在 Charts 视图中构建图表。有关详细步骤,请参阅构建图表。
删除集合
要通过 Atlas UI 删除集合(包括其文档和索引):
将集合分片
如果有大型数据集并执行高吞吐量操作,则可以对集合进行分片以在分片之间分配数据。
要通过 Atlas 用户界面对集合进行分片,请执行以下操作:
通过 连接到 MongoDB。mongosh
为要分片的数据库启用分片功能。
若要启用分片操作,请运行以下命令:
sh.enableSharding("<database-name>")
例子
要为 sample_analytics 数据集启用分片:
sh.enableSharding("sample_analytics")
请参阅 MongoDB 手册中的为数据库启用分片,了解详情。
可选:如果要对其进行分片的集合包含数据且不为空,可以在分片键上创建索引。
若要在分片键上创建索引,运行以下命令:
db.<collection-name>.createIndex({<shard_key_definition>})
例子
为 sample_analytics.customers
集合的分片键创建索引:
db.sample_analytics.runCommand( { createIndexes: "customers", indexes: [ { key: { "username": 1 }, "name": "usernameIndex" }], "commitQuorum": "majority" } )
要了解详情,请参阅:
对您想要分片的集合进行分片操作。
要对集合进行分片,请运行以下命令:
sh.shardCollection("<database>.<collection>", { "<indexed-field>" : 1 } )
例子
要对 sample_analytics.customers
集合进行分片,请执行以下操作:
sh.shardCollection("sample_analytics.customers",{"username":1})
警告
如果您对已具有 Atlas Search 索引的集合进行分片,当该集合开始出现在分片上时,您可能会遇到短暂的查询停机时间。此外,如果您为包含 Atlas Search 索引的已分片集合添加分片,针对该集合的搜索查询将失败,直到添加的分片完成初始同步过程为止。要了解更多信息,请参阅初始同步进程。
如需了解更多信息,请参阅 MongoDB 手册中的“分片集合”。