Collation Locales and Default Parameters¶
3.4 新版功能.
Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks.
Behavior¶
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 pinyin variant of the Chinese collation:
{ "locale" : "zh@collation=pinyin" }
See the collation page for a full description of collation behavior and syntax.
Supported Languages and Locales¶
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]
|
|
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 |
Collation Default Parameters¶
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 |