📄️ 👐 使用图书馆数据库
选择图书馆数据库
📄️ 👐 空聚合管道
一个空的聚合
📄️ 👐 $match
$match 操作符与聚合框架一起使用,用于过滤集合中的文档。它接受一个文档作为输入,并返回一个新文档,仅包含符合指定条件的文档。$match 操作符的语法如下:
📄️ 👐 $project
在输出中包括特定字段
📄️ 👐 $limit
如果我们返回了太多的文档,但我们只对其中的一部分感兴趣,我们可以使用 $limit 来限制返回的文档数量。
📄️ 👐 组合阶段
到目前为止,我们只在管道中使用了一个阶段。但聚合管道的强大之处在于我们可以使用多个阶段,一个阶段的输出将成为下一个阶段的输入。可以把它想象成 UNIX 管道或使用带有 map、filter、reduce、flatmap 等的函数式编程。
📄️ 👐 编写长管道
聚合管道可能会变得很长,这取决于我们需要运行多少阶段。编写管道就是编写代码,因为你将使用你自己熟悉的编程语言中的 MongoDB 驱动程序(SDK)来编写它。这里我们使用适用于 MongoDB Shell mongosh 的 JavaScript 示例。但如果你在用 Rust 编写一个微服务,你肯定会用 Rust 编写你的管道,其他编程语言同理。
📄️ 🦸♂️ 重复阶段
额外活动:如果您有额外的时间或在家跟着做,可以尝试,导师不会在动手实验中进行讲解
📄️ 🦸♂️ 聚合选项
额外活动:如果您有额外的时间或在家跟着做,可以尝试,导师不会在动手实验中进行讲解