CosmosDB 中的分区键与文档 ID

问题描述 投票:0回答:2

如果我存储文档时没有提供分区键,在这种情况下,documentId 会被视为逻辑分区的分区键吗?

如果是的话:该集合中的十亿个逻辑分区怎么样?我有查询只能通过 documentId 查看。

现在在文档 JSON 中:
我有多个字段,并且我已提供 /asset 作为分区键。现在这是复合分区键吗:/asset/documentId? 或者/asset将tel分区来搜索documentId?

enter image description here

azure azure-cosmosdb partitioning azure-cosmosdb-mongoapi
2个回答
4
投票

如果我存储文档而不提供分区键,在这种情况下 documentId将被视为逻辑分区的分区键?

不。如果您创建的文档没有

Partition Key
,则文档 id 将不会被视为分区键。 Cosmos DB 引擎会将所有没有分区键值的文档放在隐藏的逻辑分区中。可以通过将分区键指定为
{}
来访问此特定分区。


2
投票

您在创建集合时定义分区键(根据屏幕截图

asset
是您案例中的分区键)。如果您在创建集合时不提供分区键 - 它将限制为 10 GB 的数据(因为如果没有分区键,它将无法对其进行分片)。

仅使用分区键来确定文档的分区。在决定该文档属于哪个分区时,其他字段是无关紧要的。

© www.soinside.com 2019 - 2024. All rights reserved.