文档菜单
文档首页
/
MongoDB 手册
/ / /

使用默认排序规则创建视图

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

本页解释了如何为视图指定默认排序。

创建一个places 集合,包含以下文档

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,则视图必须具有相同的排序。

返回

连接集合