排序规则语言环境和默认参数

在本页面

3.4 版的新功能。

Collation允许用户为字符串比较指定特定于语言的规则,例如字母大写和重音符号的规则。

Behavior

某些归类语言环境具有变体,它们使用特定于语言的规则。要指定语言环境变体,请使用以下语法:

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

例如,要使用中文排序规则的unihan变体:

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

有关排序规则行为和语法的完整说明,请参见collation page

支持的语言和语言环境

MongoDB 的collation feature支持以下语言。下表列出了ICU 语言环境 ID定义的受支持的语言和关联的语言环境。 [1]

语言语言环境变体
南非语af
阿尔巴尼亚语sq
阿姆哈拉语am
阿拉伯语arcompat
亚美尼亚hy
阿萨姆语as
Azeriazsearch
孟加拉语bn
白俄罗斯语be
孟加拉语bntraditional
波斯尼亚语bssearch
波斯尼亚文(西里尔文)bs_Cyrl
保加利亚语bg
缅甸语my
加泰罗尼亚语casearch
切诺基chr
中文zhbig5han
gb2312han
unihan
zhuyin

中文(繁体)zh_Hant
克罗地亚语hrsearch
捷克语cssearch
丹麦文dasearch
荷兰语nl
宗卡dz
英文en
英文(美国)en_US
英文(美国,计算机)en_US_POSIX
世界语eo
爱沙尼亚语et
母羊ee
法罗语fo
菲律宾语fil
芬兰文fisearch
traditional

法语fr
法语(加拿大)fr_CA
加利西亚语glsearch
格鲁吉亚ka
德文desearch
eor
phonebook

德语(奥地利)de_ATphonebook
希腊语el
古吉拉特语gu
豪萨ha
夏威夷人haw
希伯来语hesearch
印地语hi
匈牙利文hu
冰岛语issearch
伊博ig
Inari Samismnsearch
印尼文id
爱尔兰语ga
义大利语it
日文jaunihan语言语言环境变体
Kalaallisutklsearch
卡纳达语kntraditional
哈萨克kk
高棉语km
Konkanikok
韩语kosearch
searchjl
unihan

吉尔吉斯ky
拉科塔lkt
老挝lo
拉脱维亚lv
Lingalalnphonetic
立陶宛语lt
下索布族dsb
卢森堡语lb
马其顿语mk
马来语ms
马拉雅拉姆语ml
马耳他语mt
马拉地mr
蒙古语mn
尼泊尔文ne
北萨米语sesearch
挪威语 Bokmålnbsearch
挪威尼诺斯克nnsearch
奥里亚语or
Oromoom
普什图语ps
波斯语fa
波斯语(阿富汗)fa_AF
波兰语pl
葡萄牙语pt
旁遮普语pa
罗马尼亚语ro
俄语ru
塞尔维亚文sr
塞尔维亚文(拉丁文)sr_Latnsearch
僧伽罗语sidictionary
斯洛伐克文sksearch
斯洛文尼亚语sl
西班牙语essearch
traditional

斯瓦希里语sw
瑞典语svsearch
泰米尔语ta
泰卢固语te
泰语th
藏语bo
汤加to
土耳其语trsearch
乌克兰语uk
上索布族hsb
乌尔都语ur
维吾尔文ug
越南语vitraditional
沃尔瑟wae
威尔士语cy
意第绪语yisearch
约鲁巴岛yo
祖鲁语zu

Tip

要明确指定简单的二进制比较,请指定locale"simple"

[1]要请求对语言环境的支持,请向Server project提交 JIRA 票证

归类默认参数

排序规则文档除必需的locale参数外还包含多个optional parameters。根据您使用的locale,默认参数可能会有所不同。有关排序规则语法的完整说明,请参见collation page

以下默认参数在所有语言环境中都是一致的:

  • caseLevel : false

  • strength : 3

  • numericOrdering : false

  • maxVariable : punct

下表显示了默认排序规则参数,该参数可能因不同的语言环境而异:

LocalecaseFirstalternatenormalizationbackwards
afoffnon-ignorableFALSEFALSE
sqoffnon-ignorableFALSEFALSE
amoffnon-ignorableFALSEFALSE
aroffnon-ignorableFALSEFALSE
ar@collation=compatoffnon-ignorableFALSEFALSE
hyoffnon-ignorableFALSEFALSE
asoffnon-ignorableTRUEFALSE
azoffnon-ignorableFALSEFALSE
az@collation=searchoffnon-ignorableTRUEFALSE
beoffnon-ignorableFALSEFALSE
bnoffnon-ignorableTRUEFALSE
bn@collation=traditionaloffnon-ignorableTRUEFALSE
bsoffnon-ignorableFALSEFALSE
bs@collation=searchoffnon-ignorableTRUEFALSE
bs_Cyrloffnon-ignorableFALSEFALSE
bgoffnon-ignorableFALSEFALSE
myoffnon-ignorableTRUEFALSE
caoffnon-ignorableFALSEFALSE
ca@collation=searchoffnon-ignorableTRUEFALSE
chroffnon-ignorableFALSEFALSE
zhoffnon-ignorableFALSEFALSE
zh@collation=big5hanoffnon-ignorableFALSEFALSE
zh@collation=gb2312hanoffnon-ignorableFALSEFALSE
zh@collation=unihanoffnon-ignorableFALSEFALSE
zh@collation=zhuyinoffnon-ignorableFALSEFALSE
zh_Hantoffnon-ignorableFALSEFALSE
hroffnon-ignorableFALSEFALSE
hr@collation=searchoffnon-ignorableTRUEFALSE
csoffnon-ignorableFALSEFALSE
cs@collation=searchoffnon-ignorableTRUEFALSE
dauppernon-ignorableFALSEFALSE
da@collation=searchoffnon-ignorableTRUEFALSE
nloffnon-ignorableFALSEFALSE
dzoffnon-ignorableFALSEFALSE
enoffnon-ignorableFALSEFALSE
en_US_POSIXoffnon-ignorableFALSEFALSE
en_USoffnon-ignorableFALSEFALSE
eooffnon-ignorableFALSEFALSE
etoffnon-ignorableFALSEFALSE
eeoffnon-ignorableFALSEFALSE
fooffnon-ignorableFALSEFALSE
fo@collation=searchoffnon-ignorableTRUEFALSE
filoffnon-ignorableFALSEFALSE
fioffnon-ignorableFALSEFALSE
fi@collation=searchoffnon-ignorableTRUEFALSE
fi@collation=traditionaloffnon-ignorableFALSEFALSE
froffnon-ignorableFALSEFALSE
fr_CAoffnon-ignorableFALSETRUE
gloffnon-ignorableFALSEFALSE
gl@collation=searchoffnon-ignorableTRUEFALSE
kaoffnon-ignorableFALSEFALSE
deoffnon-ignorableFALSEFALSE
de@collation=searchoffnon-ignorableTRUEFALSE
de@collation=phonebookoffnon-ignorableFALSEFALSE
de@collation=eoroffnon-ignorableFALSEFALSE
de_AToffnon-ignorableFALSEFALSE
de_AT@collation=phonebookoffnon-ignorableFALSEFALSE
eloffnon-ignorableTRUEFALSE
guoffnon-ignorableTRUEFALSE
haoffnon-ignorableFALSEFALSE
hawoffnon-ignorableFALSEFALSE
heoffnon-ignorableTRUEFALSE
he@collation=searchoffnon-ignorableTRUEFALSE
hioffnon-ignorableTRUEFALSE
huoffnon-ignorableFALSEFALSE
isoffnon-ignorableFALSEFALSE
is@collation=searchoffnon-ignorableTRUEFALSE
igoffnon-ignorableTRUEFALSE
smnoffnon-ignorableFALSEFALSE
smn@collation=searchoffnon-ignorableTRUEFALSE
idoffnon-ignorableFALSEFALSE
gaoffnon-ignorableFALSEFALSE
itoffnon-ignorableFALSEFALSE
jaoffnon-ignorableFALSEFALSE
ja@collation=unihanoffnon-ignorableFALSEFALSE
kloffnon-ignorableFALSEFALSE
kl@collation=searchoffnon-ignorableTRUEFALSE
knoffnon-ignorableTRUEFALSE
kn@collation=traditionaloffnon-ignorableTRUEFALSE
kkoffnon-ignorableFALSEFALSE
kmoffnon-ignorableTRUEFALSE
kokoffnon-ignorableTRUEFALSE
kooffnon-ignorableFALSEFALSE
ko@collation=searchoffnon-ignorableTRUEFALSE
ko@collation=searchjloffnon-ignorableTRUEFALSE
ko@collation=unihanoffnon-ignorableFALSEFALSE
kyoffnon-ignorableFALSEFALSE
lktoffnon-ignorableFALSEFALSE
looffnon-ignorableFALSEFALSE
lvoffnon-ignorableFALSEFALSE
lnoffnon-ignorableFALSEFALSE
ln@collation=phoneticoffnon-ignorableFALSEFALSE
ltoffnon-ignorableFALSEFALSE
dsboffnon-ignorableFALSEFALSE
lboffnon-ignorableFALSEFALSE
mkoffnon-ignorableFALSEFALSE
msoffnon-ignorableFALSEFALSE
mloffnon-ignorableFALSEFALSE
mtuppernon-ignorableFALSEFALSE
mroffnon-ignorableTRUEFALSE
mnoffnon-ignorableFALSEFALSE
neoffnon-ignorableFALSEFALSE
seoffnon-ignorableFALSEFALSE
se@collation=searchoffnon-ignorableTRUEFALSE
nboffnon-ignorableFALSEFALSE
nb@collation=searchoffnon-ignorableTRUEFALSE
nnoffnon-ignorableFALSEFALSE
nn@collation=searchoffnon-ignorableTRUEFALSE
oroffnon-ignorableTRUEFALSE
omoffnon-ignorableFALSEFALSE
psoffnon-ignorableTRUEFALSE
faoffnon-ignorableTRUEFALSE
fa_AFoffnon-ignorableTRUEFALSE
ploffnon-ignorableFALSEFALSE
ptoffnon-ignorableFALSEFALSE
paoffnon-ignorableTRUEFALSE
rooffnon-ignorableFALSEFALSE
ruoffnon-ignorableFALSEFALSE
sroffnon-ignorableFALSEFALSE
sr_Latnoffnon-ignorableFALSEFALSE
sr_Latn@collation=searchoffnon-ignorableTRUEFALSE
sioffnon-ignorableTRUEFALSE
si@collation=dictionaryoffnon-ignorableTRUEFALSE
skoffnon-ignorableFALSEFALSE
sk@collation=searchoffnon-ignorableTRUEFALSE
sloffnon-ignorableFALSEFALSE
esoffnon-ignorableFALSEFALSE
es@collation=searchoffnon-ignorableTRUEFALSE
es@collation=traditionaloffnon-ignorableFALSEFALSE
swoffnon-ignorableFALSEFALSE
svoffnon-ignorableFALSEFALSE
sv@collation=searchoffnon-ignorableTRUEFALSE
taoffnon-ignorableTRUEFALSE
teoffnon-ignorableTRUEFALSE
thoffshiftedTRUEFALSE
booffnon-ignorableFALSEFALSE
tooffnon-ignorableFALSEFALSE
troffnon-ignorableFALSEFALSE
tr@collation=searchoffnon-ignorableTRUEFALSE
ukoffnon-ignorableFALSEFALSE
hsboffnon-ignorableFALSEFALSE
uroffnon-ignorableFALSEFALSE
ugoffnon-ignorableFALSEFALSE
vioffnon-ignorableTRUEFALSE
vi@collation=traditionaloffnon-ignorableTRUEFALSE
waeoffnon-ignorableFALSEFALSE
cyoffnon-ignorableFALSEFALSE
yioffnon-ignorableTRUEFALSE
yi@collation=searchoffnon-ignorableTRUEFALSE
yooffnon-ignorableTRUEFALSE
zuoffnon-ignorableFALSEFALSE