在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
字段過濾文檔,只輸出符合條件的文檔。