MongoDB 简明教程

MongoDB $match

1. 聚合阶段 $match

这个聚合阶段的行为与 find 操作非常相似。它会根据你提供的查询条件来筛选文档。

在管道的早期阶段使用 $match 可以显著提升性能,因为它能够限制后续阶段必须处理的文档数量。

2. 实战示例

在这个示例中,我们使用了在“聚合简介”章节中加载的示例数据集 "sample_airbnb" 数据库。

示例代码

db.listingsAndReviews.aggregate([
  // 阶段 1:筛选出物业类型为 "House" 的文档
  { $match : { property_type : "House" } },
  // 阶段 2:限制返回结果为 2 条
  { $limit: 2 },
  // 阶段 3:投影输出特定字段
  { $project: { "name": 1, "bedrooms": 1, "price": 1 }}
])

执行上述操作后,系统将仅返回 property_type(物业类型)为 "House" 的文档,并只展示你指定的名称、卧室数量及价格信息。