CosmosDB中的分区键与文档ID

时间:2019-06-19 09:32:52

标签: azure azure-cosmosdb partitioning azure-cosmosdb-mongoapi cosmos

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

如果是:该集合中的十亿个逻辑分区如何?我有查询只能按documentId查找。

现在在文档JSON中:
我有多个字段,我提供了/ asset作为partitionKey。这是现在的复合分区键:/ asset / documentId吗? 还是/ asset可以进行电话分区以从中搜索documentId?

enter image description here

2 个答案:

答案 0 :(得分:1)

在创建集合时定义分区键(根据屏幕快照asset是您的情况下的分区键)。如果您在创建集合时不提供分区键,那么它将限制为10 GB数据(因为没有分区键就无法将其分片)。

仅分区键用于确定文档的分区。决定此文档属于哪个分区时,其他字段无关。

答案 1 :(得分:1)

  

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

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