Mongodb 在CosmosDB(Mongo API)上创建唯一索引错误

Mongodb 在CosmosDB(Mongo API)上创建唯一索引错误,mongodb,indexing,unique,Mongodb,Indexing,Unique,我正在尝试为我们的CosmosDB上的一些集合创建一个独特的索引。每个MS文档:仅当集合为空(不包含文档)时才能创建唯一索引 因此,我清理了集合中的所有数据,但遇到了错误,消息是: Error=13,Details=”响应状态代码不表示成功:禁止(403);子状态:0;ActivityId:xxx,原因:(消息:{“serializedCollection”:“{”错误“:[“无法修改唯一索引。若要更改唯一索引,请删除集合并重新创建一个新的索引。”]}”、“serializedOffer:”、“

我正在尝试为我们的CosmosDB上的一些集合创建一个独特的索引。每个MS文档:仅当集合为空(不包含文档)时才能创建唯一索引

因此,我清理了集合中的所有数据,但遇到了错误,消息是:

Error=13,Details=”响应状态代码不表示成功:禁止(403);子状态:0;ActivityId:xxx,原因:(消息:{“serializedCollection”:“{”错误“:[“无法修改唯一索引。若要更改唯一索引,请删除集合并重新创建一个新的索引。”]}”、“serializedOffer:”、“serializedPartitionKeyRanges:”[]、“serializedPartitions:”[]、“collectionRemoteStorageSecurityIdentifier:“xxx”,“collectionChildResourceNameLimitInBytes”:-1,“collectionChildResourceContentLengthLimitInKB”:-1,“uniqueIndexNameEncodingMode”:0,“uniqueIndexReIndexingState”:0} ActivityId:xxx,请求URI:/apps/xxx/xxx/partitions/xxx/replicas/xx,RequestStats: 请求开始时间:2020-12-02T23:25:04.2104773Z,请求结束时间:2020-12-02T23:25:04.2204125Z,尝试的区域数:1 响应时间:2020-12-02T23:25:04.2204125Z,存储结果:存储物理地址:rntbd://10.0.0.29:11000/apps/xxx/services/xx/partitions/xx/replicas/xx,LSN:41,GlobalCommitteedLSN:41,PartitionKeyRangeId:,IsValid:True,状态代码:403,子状态代码:0,请求费用:1.57,项目LSN:-1,会话肯:-1#41,使用LocalLSN:False,TransportException离子:null,资源类型:集合,操作类型:替换 ,SDK:Microsoft.Azure.Documents.Common/2.11.0,请参阅CosmosDiagnostics,Windows/10.0.17763 cosmos netstandard SDK/3.3.2)

然后我尝试只添加字段名,然后它抛出如下错误:

当集合包含文档时,无法创建唯一索引

我们正在使用支持Mongodb 3.6的COSOMSDB。我正在使用以下命令: db.CollectName.createIndex({“fieldname”:1},{“unique”:true})

知道我为什么会出错吗


谢谢,

不确定发生了什么,但现在它突然开始工作。因此,步骤是清除集合中的数据。运行脚本添加唯一索引,然后加载回数据。我正在使用Robo 3t连接到CosmosDB,并通过Robo3T命令行运行所有命令。

db.getCollectionInfo({name:“CollectionName”)“})
并使用相同的命令粘贴输出[{“name”:“CollectionName”,“type”:“collection”,“options”:{}],在本地mongodb上创建唯一索引时没有任何错误。但它不适用于CosmosDB。集合大小有限,只有20GB,因此没有碎片密钥。