Azure cosmosdb 在cosmosDB中为唯一键约束强制执行不区分大小写的值?

Azure cosmosdb 在cosmosDB中为唯一键约束强制执行不区分大小写的值?,azure-cosmosdb,unique-constraint,azure-cosmosdb-sqlapi,unique-key,Azure Cosmosdb,Unique Constraint,Azure Cosmosdb Sqlapi,Unique Key,我们有一个sql容器。我们希望对特定属性(例如“Name”)强制实施不区分大小写的唯一约束。如果文档的名称为“ALICE”,则该逻辑分区中的其他文档的名称不得为“ALICE”)。 一种解决方案可能是引入另一个属性LowerCaseName,并在path/LowerCaseName上强制实施本机支持的唯一密钥配置。每次更新名称时,我们都会确保LowerCaseName始终更新为同一请求中名称的小写版本 我不确定这是否是解决这个问题的最佳做法?谢谢 public MyDocumentModel {

我们有一个sql容器。我们希望对特定属性(例如“Name”)强制实施不区分大小写的唯一约束。如果文档的名称为“ALICE”,则该逻辑分区中的其他文档的名称不得为“ALICE”)。 一种解决方案可能是引入另一个属性LowerCaseName,并在path/LowerCaseName上强制实施本机支持的唯一密钥配置。每次更新名称时,我们都会确保LowerCaseName始终更新为同一请求中名称的小写版本

我不确定这是否是解决这个问题的最佳做法?谢谢

public MyDocumentModel
{
    string Name {get; set;}

    string LowerCaseName {get; set;}
}
从文件中:

在Azure Cosmos DB的SQL(核心)API中,项目存储为JSON值。 这些JSON值区分大小写。当您选择一个属性作为 唯一键,您可以为该属性插入区分大小写的值。 例如,如果在name属性上定义了唯一键, “Gaby”与“Gaby”不同,您可以将两者都插入到 容器


基于此,我相信您使用第二个属性强制执行唯一密钥的方法是正确的。

谢谢。我也相信我的方法会奏效。如果有更简单的解决办法,我只是想集思广益。