在MongoDB中,聚合管道查询是一种强大的数据处理方式,它允许你对数据进行各种操作,如过滤、投影、分组、排序等。要在MongoDB中使用聚合管道查询进行过滤,你需要使用$match
阶段。$match
阶段用于过滤数据,只输出符合条件的文档。
以下是一个简单的示例,说明如何使用$match
阶段进行过滤:
假设我们有一个名为students
的集合,其中包含以下文档:
[ { "_id": 1, "name": "Alice", "age": 25, "score": 85 }, { "_id": 2, "name": "Bob", "age": 22, "score": 90 }, { "_id": 3, "name": "Cathy", "age": 23, "score": 78 }, { "_id": 4, "name": "David", "age": 24, "score": 88 } ]
现在,我们想要查询年龄大于等于23岁且分数大于等于85分的文档。我们可以使用以下聚合管道查询:
db.students.aggregate([ { $match: { age: { $gte: 23 }, score: { $gte: 85 } } } ])
这个查询的输出将是:
[ { "_id": 2, "name": "Bob", "age": 22, "score": 90 }, { "_id": 4, "name": "David", "age": 24, "score": 88 } ]
在这个例子中,$match
阶段根据age
和score
字段过滤文档,只输出符合条件的文档。