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