当前位置: 首页 > 知识库问答 >
问题:

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

朱皓
2023-03-14

我的文件是:

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

我有索引字段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是否支持唯一稀疏索引?

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

默认情况下支持这个链接,该链接表示稀疏索引

共有1个答案

宇文弘懿
2023-03-14

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

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

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

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

请看看下面的Stack Overflow帖子。

 类似资料:
  • 我试图在我们的COSMOSDB上的一些集合上创建一个唯一的索引。每个MS文档https://docs.microsoft.com/en-us/azure/cosmos-db/mongoDB-indexing:只有当集合为空(不包含任何文档)时,才能创建唯一索引。 因此,我清理了集合上的所有数据,但遇到错误时,消息是: 你知道为什么我会出错吗? 谢谢,

  • 请看示例代码(注意 data 的数组下标): -- http://www.kyne.com.au/~mark/software/lua-cjson.php -- version: 2.1 devel local json = require("cjson") local data = {1, 2} data[1000] = 99 -- ... do the other things ngx.

  • 我对DynamoDB中的某些内容感到非常困惑: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForLSI.html#GuidelinesForLSI.SparseIndexes 对于表中的任何项,只有当项中存在索引排序键值时,DynamoDB才会写入相应的索引项。如果排序键没有出现在每个表项中

  • 我正在网上寻找稀疏图的好定义,但我很困惑。稀疏图实际上是一个具有数百万/数十亿节点的大图吗?一个例子是现实世界的一个——比如Facebook。或者它们也可以在小型网络中? 提前感谢!

  • 问题内容: 不知道在PostgreSQL 9.3+中是否可行,但是我想在非唯一列上创建唯一索引。对于像这样的表: 我想仅能[快速]查询不同的日子。我知道我可以用来帮助执行不同的搜索,但是如果不同值的数量大大少于索引覆盖的行数,这似乎会增加额外的开销。就我而言,大约30天中有1天与众不同。 我是创建关系表以仅跟踪唯一条目的唯一选择吗?思维: 并在每次插入数据时使用触发器来更新它。 问题答案: 索引只

  • 我正在使用Jax-RS和Jooq。我想知道如何使用稀疏数据实现REST补丁。 比如说我有一些PoJo。我得到了一个JSON补丁(http://www.restapitutorial.com/lessons/httpmethods.html)请求的对象不完整,只包含应该更改的字段。 我该如何编写这样的处理程序? 我试着接受真实的Pojo对象。我的第一个想法是“如果一个字段为空,我就不更新它”。这是我