首页 > 解决方案 > 集合上的 Azure Cosmos db 唯一键

问题描述

我正在尝试为 Cosmos DB 中的整个集合创建一个唯一键。所以每个_pk不是唯一的。

我读了这篇文章,但这里只写了每个分区的唯一键:https ://docs.microsoft.com/en-us/azure/cosmos-db/unique-keys 。

我用谷歌搜索了很多,但我找不到任何关于英国收藏的结果。这甚至可能吗?如果是,是否有任何关于它的文档?

标签: azureazure-cosmosdb

解决方案


我认为关于 cosmos db 唯一键的官方文档已明确说明。

我正在尝试为 Cosmos DB 中的整个集合创建一个唯一键。

必须在创建容器时定义唯一键,并且唯一键的范围为分区键。

在同一个集合中,必须有可能在没有用户名的情况下存储不同的对象。

不支持稀疏唯一键。如果缺少某些唯一路径的值,则将它们视为特殊的空值,该值参与唯一性约束。

如果您确实想让该username字段在整个集合中跨分区唯一,甚至允许空值,我认为您需要在将文档插入 cosmos db 之前自行检查唯一性。我建议您使用预触发器来执行查看。

希望它可以帮助你。


推荐阅读