Navigation

Collation Locales and Default Parameters

New in version 3.4.

Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks.

Some collation locales have variants, which employ special language-specific rules. To specify a locale variant, use the following syntax:

{ "locale" : "<locale code>@collation=<variant>" }

For example, to use the unihan variant of the Chinese collation:

{ "locale" : "zh@collation=unihan" }

See the collation page for a full description of collation behavior and syntax.

MongoDB's collation feature supports the following languages. The following table lists the supported languages and the associated locales as defined by ICU Locale ID. [1]

Language
Locale
Variants
Afrikaans
af
Albanian
sq
Amharic
am
Arabic
ar
compat
Armenian
hy
Assamese
as
Azeri
az
search
Bengali
bn
Belarusian
be
Bengali
bn
traditional
Bosnian
bs
search
Bosnian (Cyrillic)
bs_Cyrl
Bulgarian
bg
Burmese
my
Catalan
ca
search
Cherokee
chr
Chinese
zh
big5han
gb2312han
unihan
zhuyin
Chinese (Traditional)
zh_Hant
Croatian
hr
search
Czech
cs
search
Danish
da
search
Dutch
nl
Dzongkha
dz
English
en
English (United States)
en_US
English (United States, Computer)
en_US_POSIX
Esperanto
eo
Estonian
et
Ewe
ee
Faroese
fo
Filipino
fil
Finnish
fi
search
traditional
French
fr
French (Canada)
fr_CA
Galician
gl
search
Georgian
ka
German
de
search
eor
phonebook
German (Austria)
de_AT
phonebook
Greek
el
Gujarati
gu
Hausa
ha
Hawaiian
haw
Hebrew
he
search
Hindi
hi
Hungarian
hu
Icelandic
is
search
Igbo
ig
Inari Sami
smn
search
Indonesian
id
Irish
ga
Italian
it
Japanese
ja
unihan
Language
Locale
Variants
Kalaallisut
kl
search
Kannada
kn
traditional
Kazakh
kk
Khmer
km
Konkani
kok
Korean
ko
search
searchjl
unihan
Kyrgyz
ky
Lakota
lkt
Lao
lo
Latvian
lv
Lingala
ln
phonetic
Lithuanian
lt
Lower Sorbian
dsb
Luxembourgish
lb
Macedonian
mk
Malay
ms
Malayalam
ml
Maltese
mt
Marathi
mr
Mongolian
mn
Nepali
ne
Northern Sami
se
search
Norwegian Bokmål
nb
search
Norwegian Nynorsk
nn
search
Oriya
or
Oromo
om
Pashto
ps
Persian
fa
Persian (Afghanistan)
fa_AF
Polish
pl
Portuguese
pt
Punjabi
pa
Romanian
ro
Russian
ru
Serbian
sr
Serbian (Latin)
sr_Latn
search
Sinhala
si
dictionary
Slovak
sk
search
Slovenian
sl
Spanish
es
search
traditional
Swahili
sw
Swedish
sv
search
Tamil
ta
Telugu
te
Thai
th
Tibetan
bo
Tongan
to
Turkish
tr
search
Ukrainian
uk
Upper Sorbian
hsb
Urdu
ur
Uyghur
ug
Vietnamese
vi
traditional
Walser
wae
Welsh
cy
Yiddish
yi
search
Yoruba
yo
Zulu
zu
Tip

To explicitly specify simple binary comparison, specify locale value of "simple".

[1] To request support for a locale, please file a JIRA ticket with the Server project

A collation document contains several optional parameters in addition to the required locale parameter. Depending on which locale you use, the default parameters may be different. See the collation page for a full description of collation syntax.

The following default parameters are consistent across all locales:

  • caseLevel : false
  • strength : 3
  • numericOrdering : false
  • maxVariable : punct

The following table shows the default collation parameters which may vary across different locales:

Locale
caseFirst
alternate
normalization
backwards
af
off
non-ignorable
FALSE
FALSE
sq
off
non-ignorable
FALSE
FALSE
am
off
non-ignorable
FALSE
FALSE
ar
off
non-ignorable
FALSE
FALSE
ar@collation=compat
off
non-ignorable
FALSE
FALSE
hy
off
non-ignorable
FALSE
FALSE
as
off
non-ignorable
TRUE
FALSE
az
off
non-ignorable
FALSE
FALSE
az@collation=search
off
non-ignorable
TRUE
FALSE
be
off
non-ignorable
FALSE
FALSE
bn
off
non-ignorable
TRUE
FALSE
bn@collation=traditional
off
non-ignorable
TRUE
FALSE
bs
off
non-ignorable
FALSE
FALSE
bs@collation=search
off
non-ignorable
TRUE
FALSE
bs_Cyrl
off
non-ignorable
FALSE
FALSE
bg
off
non-ignorable
FALSE
FALSE
my
off
non-ignorable
TRUE
FALSE
ca
off
non-ignorable
FALSE
FALSE
ca@collation=search
off
non-ignorable
TRUE
FALSE
chr
off
non-ignorable
FALSE
FALSE
zh
off
non-ignorable
FALSE
FALSE
zh@collation=big5han
off
non-ignorable
FALSE
FALSE
zh@collation=gb2312han
off
non-ignorable
FALSE
FALSE
zh@collation=unihan
off
non-ignorable
FALSE
FALSE
zh@collation=zhuyin
off
non-ignorable
FALSE
FALSE
zh_Hant
off
non-ignorable
FALSE
FALSE
hr
off
non-ignorable
FALSE
FALSE
hr@collation=search
off
non-ignorable
TRUE
FALSE
cs
off
non-ignorable
FALSE
FALSE
cs@collation=search
off
non-ignorable
TRUE
FALSE
da
upper
non-ignorable
FALSE
FALSE
da@collation=search
off
non-ignorable
TRUE
FALSE
nl
off
non-ignorable
FALSE
FALSE
dz
off
non-ignorable
FALSE
FALSE
en
off
non-ignorable
FALSE
FALSE
en_US_POSIX
off
non-ignorable
FALSE
FALSE
en_US
off
non-ignorable
FALSE
FALSE
eo
off
non-ignorable
FALSE
FALSE
et
off
non-ignorable
FALSE
FALSE
ee
off
non-ignorable
FALSE
FALSE
fo
off
non-ignorable
FALSE
FALSE
fo@collation=search
off
non-ignorable
TRUE
FALSE
fil
off
non-ignorable
FALSE
FALSE
fi
off
non-ignorable
FALSE
FALSE
fi@collation=search
off
non-ignorable
TRUE
FALSE
fi@collation=traditional
off
non-ignorable
FALSE
FALSE
fr
off
non-ignorable
FALSE
FALSE
fr_CA
off
non-ignorable
FALSE
TRUE
gl
off
non-ignorable
FALSE
FALSE
gl@collation=search
off
non-ignorable
TRUE
FALSE
ka
off
non-ignorable
FALSE
FALSE
de
off
non-ignorable
FALSE
FALSE
de@collation=search
off
non-ignorable
TRUE
FALSE
de@collation=phonebook
off
non-ignorable
FALSE
FALSE
de@collation=eor
off
non-ignorable
FALSE
FALSE
de_AT
off
non-ignorable
FALSE
FALSE
de_AT@collation=phonebook
off
non-ignorable
FALSE
FALSE
el
off
non-ignorable
TRUE
FALSE
gu
off
non-ignorable
TRUE
FALSE
ha
off
non-ignorable
FALSE
FALSE
haw
off
non-ignorable
FALSE
FALSE
he
off
non-ignorable
TRUE
FALSE
he@collation=search
off
non-ignorable
TRUE
FALSE
hi
off
non-ignorable
TRUE
FALSE
hu
off
non-ignorable
FALSE
FALSE
is
off
non-ignorable
FALSE
FALSE
is@collation=search
off
non-ignorable
TRUE
FALSE
ig
off
non-ignorable
TRUE
FALSE
smn
off
non-ignorable
FALSE
FALSE
smn@collation=search
off
non-ignorable
TRUE
FALSE
id
off
non-ignorable
FALSE
FALSE
ga
off
non-ignorable
FALSE
FALSE
it
off
non-ignorable
FALSE
FALSE
ja
off
non-ignorable
FALSE
FALSE
ja@collation=unihan
off
non-ignorable
FALSE
FALSE
kl
off
non-ignorable
FALSE
FALSE
kl@collation=search
off
non-ignorable
TRUE
FALSE
kn
off
non-ignorable
TRUE
FALSE
kn@collation=traditional
off
non-ignorable
TRUE
FALSE
kk
off
non-ignorable
FALSE
FALSE
km
off
non-ignorable
TRUE
FALSE
kok
off
non-ignorable
TRUE
FALSE
ko
off
non-ignorable
FALSE
FALSE
ko@collation=search
off
non-ignorable
TRUE
FALSE
ko@collation=searchjl
off
non-ignorable
TRUE
FALSE
ko@collation=unihan
off
non-ignorable
FALSE
FALSE
ky
off
non-ignorable
FALSE
FALSE
lkt
off
non-ignorable
FALSE
FALSE
lo
off
non-ignorable
FALSE
FALSE
lv
off
non-ignorable
FALSE
FALSE
ln
off
non-ignorable
FALSE
FALSE
ln@collation=phonetic
off
non-ignorable
FALSE
FALSE
lt
off
non-ignorable
FALSE
FALSE
dsb
off
non-ignorable
FALSE
FALSE
lb
off
non-ignorable
FALSE
FALSE
mk
off
non-ignorable
FALSE
FALSE
ms
off
non-ignorable
FALSE
FALSE
ml
off
non-ignorable
FALSE
FALSE
mt
upper
non-ignorable
FALSE
FALSE
mr
off
non-ignorable
TRUE
FALSE
mn
off
non-ignorable
FALSE
FALSE
ne
off
non-ignorable
FALSE
FALSE
se
off
non-ignorable
FALSE
FALSE
se@collation=search
off
non-ignorable
TRUE
FALSE
nb
off
non-ignorable
FALSE
FALSE
nb@collation=search
off
non-ignorable
TRUE
FALSE
nn
off
non-ignorable
FALSE
FALSE
nn@collation=search
off
non-ignorable
TRUE
FALSE
or
off
non-ignorable
TRUE
FALSE
om
off
non-ignorable
FALSE
FALSE
ps
off
non-ignorable
TRUE
FALSE
fa
off
non-ignorable
TRUE
FALSE
fa_AF
off
non-ignorable
TRUE
FALSE
pl
off
non-ignorable
FALSE
FALSE
pt
off
non-ignorable
FALSE
FALSE
pa
off
non-ignorable
TRUE
FALSE
ro
off
non-ignorable
FALSE
FALSE
ru
off
non-ignorable
FALSE
FALSE
sr
off
non-ignorable
FALSE
FALSE
sr_Latn
off
non-ignorable
FALSE
FALSE
sr_Latn@collation=search
off
non-ignorable
TRUE
FALSE
si
off
non-ignorable
TRUE
FALSE
si@collation=dictionary
off
non-ignorable
TRUE
FALSE
sk
off
non-ignorable
FALSE
FALSE
sk@collation=search
off
non-ignorable
TRUE
FALSE
sl
off
non-ignorable
FALSE
FALSE
es
off
non-ignorable
FALSE
FALSE
es@collation=search
off
non-ignorable
TRUE
FALSE
es@collation=traditional
off
non-ignorable
FALSE
FALSE
sw
off
non-ignorable
FALSE
FALSE
sv
off
non-ignorable
FALSE
FALSE
sv@collation=search
off
non-ignorable
TRUE
FALSE
ta
off
non-ignorable
TRUE
FALSE
te
off
non-ignorable
TRUE
FALSE
th
off
shifted
TRUE
FALSE
bo
off
non-ignorable
FALSE
FALSE
to
off
non-ignorable
FALSE
FALSE
tr
off
non-ignorable
FALSE
FALSE
tr@collation=search
off
non-ignorable
TRUE
FALSE
uk
off
non-ignorable
FALSE
FALSE
hsb
off
non-ignorable
FALSE
FALSE
ur
off
non-ignorable
FALSE
FALSE
ug
off
non-ignorable
FALSE
FALSE
vi
off
non-ignorable
TRUE
FALSE
vi@collation=traditional
off
non-ignorable
TRUE
FALSE
wae
off
non-ignorable
FALSE
FALSE
cy
off
non-ignorable
FALSE
FALSE
yi
off
non-ignorable
TRUE
FALSE
yi@collation=search
off
non-ignorable
TRUE
FALSE
yo
off
non-ignorable
TRUE
FALSE
zu
off
non-ignorable
FALSE
FALSE
Give Feedback

On this page

  • Behavior
  • Supported Languages and Locales
  • Collation Default Parameters