cosmosdb上的唯一稀疏索引不起作用

时间:2019-04-01 16:03:37

标签: azure-cosmosdb azure-cosmosdb-mongoapi

我的文档是:

{
 "firstName" : "My first name",
 "lastName": "My lastName",
}

我为具有{strong>稀疏索引的字段fristNamelastName建立了索引。这意味着我的数据库中将始终具有唯一的firstNamelastName

但是对于字段firstNamelastName,它可以具有空值(即,将其插入数据库时​​缺少字段)。

这在MongoDB v3.4中达到了预期的精确度。但是,当我尝试在cosmosdb中使用相同的代码插入时,出现错误

multiple write errors: [{write errors: [{E11000 duplicate key error collection: user Failed _id or unique key constraint}]}, {<nil>}]

cosmosdb支持唯一的稀疏索引吗?

我发现了这个link,它说它不支持uniue sparse index

默认情况下,此link表示sparse index

1 个答案:

答案 0 :(得分:0)

基于稀疏文档属性,唯一的稀疏索引和defining a collection unique key之间存在差异。因此,不支持您帖子中与之相关的部分:

I found this link which say it do not support uniue sparse index.

实际上是在谈论不支持将稀疏文档属性用作分区键:

  

不支持稀疏唯一键。如果缺少某些唯一路径值,则将它们视为空值,它会参与唯一性约束。因此,只能有一个零值的项目来满足此约束。

请查看以下堆栈溢出post