Azure cosmosdb cosmosdb上的唯一稀疏索引不工作

Azure cosmosdb cosmosdb上的唯一稀疏索引不工作,azure-cosmosdb,azure-cosmosdb-mongoapi,Azure Cosmosdb,Azure Cosmosdb Mongoapi,我的文件是: { "firstName" : "My first name", "lastName": "My lastName", } 我用唯一稀疏索引对字段fristName和lastName进行了索引。这意味着我的数据库中将始终具有唯一的firstName和lastName 但是对于firstName和lastName字段,它可以有空值(即在将字段插入数据库时缺少字段) 这与MongoDB v3.4中的预期一样工作正常。但当我试图在cosmosdb中使用相同的代码插入时,我得到了错误

我的文件是:

{
 "firstName" : "My first name",
 "lastName": "My lastName",
}
我用唯一稀疏索引对字段
fristName
lastName
进行了索引。这意味着我的数据库中将始终具有唯一的
firstName
lastName

但是对于
firstName
lastName
字段,它可以有空值(即在将字段插入数据库时缺少字段)

这与MongoDB v3.4中的预期一样工作正常。但当我试图在cosmosdb中使用相同的代码插入时,我得到了错误

multiple write errors: [{write errors: [{E11000 duplicate key error collection: user Failed _id or unique key constraint}]}, {<nil>}]
多个写入错误:[{write errors:[{E11000重复密钥错误集合:用户失败{u id或唯一密钥约束}]},{}]
cosmosdb是否支持唯一稀疏索引

我发现它不支持
uniue稀疏索引


默认情况下,这表示
稀疏索引

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

我发现这个链接说它不支持uniue稀疏索引。

实际上,不支持将稀疏文档属性用作分区键:

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

请看下面的堆栈溢出