排序一列英语单词是很简单的,因为它们依赖于字母顺序。但使用所有重音符号排序一组德语或法语单词,或者使用不同字符排序一組中文是要困难得多。排序规则通过区域设置指定,它确定重音符号的排序方式,字符的顺序以及如何进行不区分大小写的排序。
在过去的几篇文章中,我们学习了如何为 Navicat for MongoDB 中的集合或视图指定排序规则。今天我们将通过使用不同的排序规则对两个有相同数据的集合进行排序,从而看看排序规则的规则。
测试数据
在测试中,我们使用以下三个词:“boffey”,“bøhm”和“brown”。如果使用 American English(en_US)区域设置,它们将按以下方式排序:
- boffey
- bøhm
- brown
同时,根据 nb(Norwegian)区域设置进行排序,“brown”和“bøhm”的次序倒转了:
- boffey
- brown
- bøhm
创建集合
在 Navicat 中选择数据库将在“对象”窗格中显示对象工具栏并启用“新建集合”按钮:
点击它将显示一个新的“无标题”集合选项卡以及它的工具栏。点击“排序规则”选项卡以设置排序规则。为了我们的目的,你只需从“区域设置”下拉列表中选择“en_US”项,然后点击“保存”按钮。你可以在对话框输入集合名“sort_en_us”:
保存集合后,其余的排序规则的规则将更改为其默认值:
现在我们准备添加文档了。
双击“对象”窗格中的新集合以显示数据。若要输入新文档,请点击左下角的加号按钮:
在“添加文档”对话框中,你可以提供“名称”字段和“bøhm”值:
点击“添加”按钮会将新文档附加到集合中。
重复该过程以输入“boffey”和“brown”值。
接下来,创建另一个名为“sort_norwegian”的集合。这一次,从“区域设置”下拉列表中选择“nb”。请务必以相同的顺序输入数据,以便两个数据集完全相同。
排序集合
当准备好两个测试集合,我们就可以对它们进行排序。
为此,请打开“sort_en_us”集合,然后单击工具栏上的“排序”按钮。这将在数据上方打开一个新窗格,你可以在其中定义排序准则。若要添加排序字段,请点击加号按钮。“_id”字段将默认设置。若要更改它,请点击字段名,然后从列表中选择“name”字段。最后,点击复选框应用排序准则。你的数据现在应如下所示:
对“sort_norwegian”集合执行相同操作,请注意不同的结果:
亲爱的读者,这就是排序规则的作用!