我尝试按照Microsoft Docs中的说明在分区集合上创建唯一索引:
db.runCommand({shardCollection: db.coll._fullName, key: { university: "hashed"}});
db.coll.createIndex( { "student_id" : 1, "university" : 1 }, {unique:true})
创建了集合,但是createIndex
命令始终返回以下错误:
唯一索引无法修改。要更改唯一索引,请删除集合并重新创建一个新的索引。
我已经使用仿真器在打开和关闭预配置吞吐量的数据库上尝试了相同的结果。
有人能做到吗?
答案 0 :(得分:2)
按照@David的话,我也成功地测试了您的命令。根据{{3}}中的语句:
当前,仅当集合为 空(不包含任何文档)。
您可以检查集合是否为空。另一点是,有时仿真器的行为可能与实际版本不同,因此,您可以尝试使用官方数据库执行命令。