文档菜单
文档首页
/
MongoDB Compass
/ /

使用排序规则的创建集合

本页内容

  • 过程
  • 限制和限制

排序 允许您指定针对字符串比较的语言特定规则,例如字母大小写和重音符号的规则。

1

收藏夹屏幕上,点击创建收藏夹按钮。

2
3

勾选使用自定义校对选项。

4

您必须从MongoDB支持的编程语言和区域设置中选择一个区域设置

所有其他校对选项参数都是可选的。有关字段的描述,请参阅校对

5

以下限制适用于当参数numericOrdering设置为true

  • 只有连续的非负整数子串被考虑在比较中。numericOrdering不支持

    • +

    • -

    • 指数

  • 只有Unicode代码点在数字或十进制数字(Nd)类别中的被视为数字。

  • 如果数字长度超过254个字符,则超出字符被视为单独的数字。

考虑以下字符串数字和小数值的集合

[
{ "n": "1" },
{ "n": "2" },
{ "n": "-2.1" },
{ "n": "2.0" },
{ "n": "2.20" },
{ "n": "10"},
{ "n": "20" },
{ "n": "20.1" },
{ "n": "-10" },
{ "n": "3" }
]

以下查找查询使用包含numericOrdering参数的排序文档

db.c.find(
{ }, { _id: 0 }
).sort(
{ n: 1 }
).collation( {
locale: 'en_US',
numericOrdering: true
} )

有关在Compass中查询文档的更多信息,请参阅查询您的数据,见查询您的数据.

操作返回以下结果

[
{ "n": "-2.1" },
{ "n": "-10" },
{ "n": "1" },
{ "n": "2" },
{ "n": "2.0" }
{ "n": "2.20" },
{ "n": "3" },
{ "n": "10" },
{ "n": "20" },
{"n": "20.1" }
]
  • numericOrdering: true按升序对字符串值进行排序,就像它们是数字值一样。

  • 两个负值-2.1-10没有按预期的排序顺序排序,因为它们包含不支持的-字符。

返回

固定集合