Docs 菜单

Docs 主页开发应用程序MongoDB Manual

创建具有默认排序规则的视图

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

本页介绍如何为视图指定默认排序规则。

使用以下文档创建 placescollection:

db.places.insertMany([
{ _id: 1, category: "café" },
{ _id: 2, category: "cafe" },
{ _id: 3, category: "cafE" }
])

以下操作创建一个视图,并在视图级别指定排序规则:

db.createView(
"placesView",
"places",
[ { $project: { category: 1 } } ],
{ collation: { locale: "fr", strength: 1 } }
)

以下操作使用视图的排序规则:

db.placesView.countDocuments( { category: "cafe" } )

该操作会返回 3

注意

排序规则行为

  • 您可以在创建视图时为其指定默认排序规则。如果未指定排序规则,则视图的默认排序规则是“简单”二进制比较排序规则。也就是说,视图不会继承集合的默认排序规则。

  • 视图上的字符串比较使用的是视图的默认排序规则。尝试更改或覆盖视图默认排序规则的操作会失败并报错。

  • 如果从另一个视图创建视图,则无法指定与源视图不同的排序规则。

  • 如果执行的聚合涉及多个视图,例如使用 $lookup$graphLookup ,则这些视图必须采用相同的排序规则

← 使用视图连接两个集合