我正在使用按帐户ID分区的Cosmos数据库集合,我需要阻止添加重复的序列号。
因此,如果帐号为ID 123的Johnny尝试添加序列号为A562的项目,则帐户ID为987的Bill无法添加序列号为A562的项目。但是,它们可能不在同一个分区中。
有没有办法确保跨分区的唯一性,而无需先通过每个分区进行昂贵的搜索?
答案 0 :(得分:2)
基于官方文档Unique keys in Azure Cosmos DB:通过在创建容器时创建唯一键策略,可以确保每个分区键的一个或多个值的唯一性。
因此,到目前为止,唯一密钥无法确保跨分区的唯一性。
我建议您使用sql SELECT VALUE COUNT(1) FROM c where c.serialNumber = '***'
检查结果是否大于2
。
希望它对你有所帮助。