Navicat 博客

2018 年 10 月 9 日,由 Robert Gravelle 撰写

在 MongoDB 支持排序规则的系列中,我们一直在学习如何使用 Navicat for MongoDB GUI管理和开发工具在 MongoDB 中指定排序规则。第 1 部分简要介绍了排序规则的概念,涵盖 MongoDB 中控制排序规则的字段,并详细介绍了排序规则文档的前三个字段,即“区域设置”、 “大小写级别”和“大小写优先”。今天的文章将描述其他字段。

强度(strength)

下一个字段“强度”是要执行比较的级别。

可能的值包括:

  • Primary:排序规则仅执行基本字符的比较,忽略其他差异,例如重音符号和大小写。因此,å、ä 和 a 都将被视为同一个字符。
  • Secondary:排序规则执行比较直到次要差异,例如重音符号。也就是说,基本字符+重音符号。请注意,基本字符之间的差异优先于次要差异。
  • Tertiary:排序规则执行比较直到第三级差导,例如大小写和字母变体。也就是说,排序规则执行基本字符、重音符号以及大小写和变体的比较。虽然英语只有大小冝变体,但有些语言有不同但等同的字符,即简化中文与繁体中文。在此级别,基本字符之间的差异优先于重音,而重音优先于大小写和变体差异。
  • 这是默认级别。

  • Quaternary:仅限于特定使用案例,以便在级别 1 到 3 忽略标点符号时考虑标点符号或处理日语文本。
  • Identical:限于仲裁成员(Tie-breaker)的特定使用案例。

在 Navicat 中,你可以在下拉列表中找到所有上述的值:

数值排序(numericOrdering)

这个标志用于确定是将数字字符串作为数字还是字符串进行比较:

  • 如果是“on”,则按数字进行比较; 即“10”大于“2”。
  • 如果是“off”,则按字符串进行比较; 即“10”小于“2”。

默认值为“off”。

替代(alternate)

这是另一个简单但功能强大的字段,用于确定排序是否应将空格和标点符号视为基本字符以进行比较。

它只有两个可能的值:

  • non-ignorable:空格和标点符号被视为基本字符。
  • shifted:空格和标点符号不被视为基本字符,仅在强度级别大于 3 时区分。

最大变量(maxVariable)

当“替代”设置为“shifted”时,此字段确定直到哪些字符可被忽略。当“替代”设置为“non-ignorable”时,它不起作用。

它只有两个可能的值:

  • punct:空格和标点符号都是“可忽略的”,即不被视为基础字符。
  • space:只有空格是“可忽略的”,即不被视为基本字符。

逆向(backwards)

这是另一个标志。这个确定带有重音的字符串是否从字符串的后面排序,例如使用一些法语字典排序。

  • 如果是“on”,则从后到前进行比较。
  • 如果是“off”,则从前到后进行比较。

默认值为“off”。

规范化

最后一个字段是一个标志,用于确定是否检查文本是否需要规范化并执行规范化。通常,大多数文本不需要规范化处理。

  • 如果是“on”,检查是否完全规范化并执行规范化以比较文本。
  • 如果是“off”,则不检查。

默认值为“off”。

总结

现在我们已经涵盖了所有排序规则的字段。在未来的文章中,我们将学习如何将排序规则应用于 MongoDB 中的排序操作。

Navicat 文章
频道条目
分享
文章归档