Azure cosmosdb 在cosmosDB中为唯一键约束强制执行不区分大小写的值?
我们有一个sql容器。我们希望对特定属性(例如“Name”)强制实施不区分大小写的唯一约束。如果文档的名称为“ALICE”,则该逻辑分区中的其他文档的名称不得为“ALICE”)。 一种解决方案可能是引入另一个属性LowerCaseName,并在path/LowerCaseName上强制实施本机支持的唯一密钥配置。每次更新名称时,我们都会确保LowerCaseName始终更新为同一请求中名称的小写版本 我不确定这是否是解决这个问题的最佳做法?谢谢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 {
public MyDocumentModel
{
string Name {get; set;}
string LowerCaseName {get; set;}
}
从文件中:
在Azure Cosmos DB的SQL(核心)API中,项目存储为JSON值。
这些JSON值区分大小写。当您选择一个属性作为
唯一键,您可以为该属性插入区分大小写的值。
例如,如果在name属性上定义了唯一键,
“Gaby”与“Gaby”不同,您可以将两者都插入到
容器
基于此,我相信您使用第二个属性强制执行唯一密钥的方法是正确的。谢谢。我也相信我的方法会奏效。如果有更简单的解决办法,我只是想集思广益。