2017-06-28 37 views
0

我想用mongoDB版本3.4创建区分大小写的索引?我正在使用下面的查询来创建一个索引,但它仍然允许我插入不同大小写的数据?用mongoDB创建区分大小写的索引?

db.Test.createIndex({ "type" : 1 },{ unique: true , collation: { locale: 'en' ,caseLevel:true ,strength: 3 } }) 

在上述查询中,我将Type设置为唯一。首先,我将“苹果”插入到数据库中,当我尝试“苹果”时,会引发重复错误。但是当我尝试插入“Apple”时,它允许我插入。对于我插入“苹果”时应该会引发重复错误。

+0

井[选项(https://docs.mongodb.com/manual/reference/collat​​ion/#collat​​ion-document-fields)是单词下[“核对“](https://en.wikipedia.org/wiki/Collat​​ion),它基本上与唯一性没有任何关系,只是用于”排序“。如果不够清楚。没有办法使情况下索引“唯一”。 MongoDB不支持。这取决于你。这里的链接既有手册,也有“整理”的英文定义,在那里我们不了解。 –

+0

另请参见创建功能的问题实际地址https://jira.mongodb.org/browse/SERVER-90 –

+0

另外供参考:因此,此问题的所有答案都是不正确的:https://stackoverflow.com/ question/33736192/mongo-unique-index-case-insensitive和所有错误解释函数。 –

回答

0

强度2将工作

db.Test.createIndex({ 
    type:1 
}, 
{ 
    collation:{ 
     locale:"en", 
     strength:2 
    }, 
    unique:true 
})); 
相关问题