Voorafgaand aan MongoDB versie 3.4 we konden geen index maken met hoofdlettergevoelig .
In versie 3.4 heeft collation
optie waarmee gebruikers taalspecifieke regels kunnen opgeven voor tekenreeksvergelijking , zoals regels voor letters en accenttekens.
De sorteeroptie heeft de volgende syntaxis:
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
waar de landinstelling veld is verplicht; alle andere velden zijn optioneel .
Om een index te maken die niet hoofdlettergevoelig is, moeten we het verplichte veld locale gebruiken en kracht veld voor het tekenreeksvergelijkingsniveau. strength
staat waardewoede toe 1 - 5 . lees meer over sorteren
Het sterkte-attribuut bepaalt of er rekening wordt gehouden met accenten of hoofdletters bij het sorteren of matchen van tekst
Voorbeeld:
if sterkte=1 dan rol =Rol =rol
if sterkte=2 dan rol =Rol
if sterkte=3 dan rol
Vergelijkingsniveau doc
We moeten dus strength=2
. gebruiken index te maken. zoals:
db.collectionName.createIndex(
{ name: 1, formula: 1, type: 1 },
{
name: "fertilizer_idx",
collation: {locale: "en", strength: 2},
unique: true
}
)
NB :collation
optie is niet beschikbaar voor tekst indexen.