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" 的文档,并只展示你指定的名称、卧室数量及价格信息。