我尝试按照以下说明进行操作微软文档 https://learn.microsoft.com/en-gb/azure/cosmos-db/mongodb-indexing#creating-unique-indexes在分区集合上创建唯一索引:
db.runCommand({shardCollection: db.coll._fullName, key: { university: "hashed"}});
db.coll.createIndex( { "student_id" : 1, "university" : 1 }, {unique:true})
该集合已创建,但是createIndex
命令总是返回以下错误:
唯一索引无法修改。要更改唯一索引,请删除该集合并重新创建一个新集合。
我使用模拟器在打开和关闭预配置吞吐量的数据库上尝试了此操作,得到了相同的结果。
有人能够做到这一点吗?
按照@David的话,我也成功地测试了你的命令。根据声明中的document https://learn.microsoft.com/en-gb/azure/cosmos-db/mongodb-indexing#creating-unique-indexes:
目前,只有集合存在时才能创建唯一索引
空(不包含任何文档)。
您可以检查您的集合是否为空。另一点是,有时模拟器可能与真实版本有不同的行为。因此,您可以尝试使用官方数据库执行命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)