创建、查看、删除和对集合进行分片
您可以使用 Atlas 用户界面来管理集群中的集合。
所需角色
下表描述了在 Atlas 用户界面中对数据库执行各种动作所需的角色:
操作 | 所需角色 |
---|---|
创建集合 | |
查看集合 | 至少是 Project Data Access Read Only 角色。 |
删除集合 | |
碎片集合 |
创建集合
提示
要在新数据库中创建第一个集合,请参阅创建数据库。
重要
您无法在 config
和 system
数据库上创建新集合。在不久的将来,Atlas 将不再支持向这些数据库上的现有集合写入数据。
要通过 Atlas 用户界面在现有数据库中创建集合:
查看集合
在 Collections(集合)标签页中,您可以查看部署中的数据库和集合。Atlas 会在其用户界面的左窗格中显示数据库:
要查看特定数据库中的集合,请单击数据库的名称。
注意
Atlas 使用collStats根据缓存的元数据显示在Collections标签页上的文档计数。此计数可能与集合中的实际文档计数不同。例如,意外关闭可能会导致计数中断。使用db.collection.countDocuments()方法可获得最准确的文档计数。
可视化集合数据
从Collections标签页中,您可以启动 MongoDB Charts 以可视化数据库和集合中的数据。
要从 Atlas 用户界面可视化 MongoDB Charts 中的数据,请在查看特定数据库或集合时单击Visualize Your Data 。图表加载数据源,您可以开始在图表视图中构建图表。有关详细步骤,请参阅构建图表。
删除集合
要通过 Atlas UI 删除集合(包括其文档和索引):
将集合分片
如果您有大型数据集并执行高吞吐量操作,则可以对集合进行分片以在各分片之间分发数据。
要通过 Atlas 用户界面对集合进行分片,请执行以下操作:
从mongosh
连接到 MongoDB。
为要分片的数据库启用分片功能。
若要启用分片操作,请运行以下命令:
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 手册中的对集合进行分片。