CosmosDB - 正确的分区键
CosmosDB - Correct Partition Key
我上传到 collection 的每个 JSON 文件都采用以下格式:
{
"Blocks": [
{
"radarID": "51p01", ...
},
{
"radarID": "51p02", ...
}
]
}
我使用的分区键是“/Blocks/radarID”,但它不起作用。我猜 radarID 不是块的直接 child,它在列表中。那你知道我应该写什么作为我的分区键吗?
谢谢。
分区键必须是每个文档的单个值,不能是子数组中的字段。分区键用于确定哪个数据库节点将托管您的文档,当然,如果您指定多个值,则不可能。
如果您的单个文档包含来自多个实体的数据,并且您将分别查询这些实体,那么按实体拆分文档可能是有意义的。如果所有这些 "radars" 都与某个更高级别的实体相关,请使用该实体 ID 作为分区键。
底线:分区键应由您的查询模式定义,以便针对单个分区执行最流行的查询。
我上传到 collection 的每个 JSON 文件都采用以下格式:
{
"Blocks": [
{
"radarID": "51p01", ...
},
{
"radarID": "51p02", ...
}
]
}
我使用的分区键是“/Blocks/radarID”,但它不起作用。我猜 radarID 不是块的直接 child,它在列表中。那你知道我应该写什么作为我的分区键吗?
谢谢。
分区键必须是每个文档的单个值,不能是子数组中的字段。分区键用于确定哪个数据库节点将托管您的文档,当然,如果您指定多个值,则不可能。
如果您的单个文档包含来自多个实体的数据,并且您将分别查询这些实体,那么按实体拆分文档可能是有意义的。如果所有这些 "radars" 都与某个更高级别的实体相关,请使用该实体 ID 作为分区键。
底线:分区键应由您的查询模式定义,以便针对单个分区执行最流行的查询。