Azure CosmosDB-正确的分区密钥

Azure CosmosDB-正确的分区密钥,azure,azure-cosmosdb,Azure,Azure Cosmosdb,我上传到集合中的每个JSON文件的格式如下: { "Blocks": [ { "radarID": "51p01", ... }, { "radarID": "51p02", ... } ] } 我使用的分区键是“/Blocks/radarID”,但它不起作用。我猜radarID不是Blocks的直系子,它在一个列表中。你知道我应该写什么作为我的分区密钥吗 谢谢。分区键必须是每个文档的单个值,不能是子数组中的字段。分区键用于确定哪

我上传到集合中的每个JSON文件的格式如下:

{
  "Blocks": [
    {
      "radarID": "51p01", ...
    },
    {
      "radarID": "51p02", ...
    }
  ]
}
我使用的分区键是“/Blocks/radarID”,但它不起作用。我猜radarID不是Blocks的直系子,它在一个列表中。你知道我应该写什么作为我的分区密钥吗


谢谢。

分区键必须是每个文档的单个值,不能是子数组中的字段。分区键用于确定哪个数据库节点将承载您的文档,当然,如果您指定了多个值,这是不可能的

如果您的单个文档包含来自多个实体的数据,并且您将分别查询这些实体,那么将文档拆分为每个实体可能是有意义的。如果所有这些“雷达”都与某个更高级别的实体相关,则将该实体ID用作分区键


一句话:分区键应该由您的查询模式定义,以便最常用的查询针对单个分区执行。

分区键必须是每个文档的单个值,不能是子数组中的字段。分区键用于确定哪个数据库节点将承载您的文档,当然,如果您指定了多个值,这是不可能的

如果您的单个文档包含来自多个实体的数据,并且您将分别查询这些实体,那么将文档拆分为每个实体可能是有意义的。如果所有这些“雷达”都与某个更高级别的实体相关,则将该实体ID用作分区键

一句话:分区键应该由您的查询模式定义,以便对单个分区执行最流行的查询