有没有办法检查分区键是否存在于 CosmosDB 的集合中?
例如,可用的分区键是美国的州,如WA、NY、MA等。CosmosDB是否有任何SQL语句来检查
NY
是否是集合中分区键的一部分?
假设如果不可能,有没有办法返回集合中的分区键列表?
你可以尝试类似的事情
SELECT DISTINCT myColl.partitionKey FROM myColl
这将返回partitionKey的唯一值。将分区键替换为您集合中的分区键
为了消除跨分区查询的需要(随着您管理的数据越多,它变得更加重要),您可以对具有您正在检查的分区键值的所有文档执行 SELECT COUNT 查询。检查 count 是否大于 0 并返回值。
这是一个适合您的示例的查询,其中您的分区键是
/state
:
SELECT VALUE COUNT(1) > 0
FROM c
WHERE c.state = "NY"
您可以从 Azure 门户执行此操作。
在这里,您应该看到“分区键(预览)”下定义的分区键