Tidligere MongoDB version 3.4 vi kunne ikke oprette indeks med ufølsomme store og små bogstaver .
I version 3.4 har collation
mulighed, der giver brugerne mulighed for at angive sprogspecifikke regler til strengsammenligning , såsom regler for bogstaver og accenttegn.
Sorteringsindstillingen har følgende syntaks:
collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
hvor lokaliteten feltet er obligatorisk; alle andre felter er valgfrie .
For at oprette et indeks uden store og små bogstaver skal vi bruge det obligatoriske felt locale og styrke felt for strengsammenligningsniveau. strength
tillader værdi-rage 1 - 5 . læs mere om sortering
Attributten styrke bestemmer, om der tages hensyn til accenter eller store og små bogstaver, når tekst sorteres eller matches
Eksempel:
hvis styrke=1 derefter rolle =Rolle =rolle
hvis styrke=2 derefter rolle =Rolle
hvis styrke=3 derefter rolle
Sammenligningsniveau dok.
Så vi skal bruge strength=2
at oprette indeks. som:
db.collectionName.createIndex(
{ name: 1, formula: 1, type: 1 },
{
name: "fertilizer_idx",
collation: {locale: "en", strength: 2},
unique: true
}
)
NB :collation
indstillingen er ikke tilgængelig for tekst indekser.