在MongoDB中,你可以使用聚合管道(aggregation pipeline)來對數(shù)據(jù)進行各種操作和轉(zhuǎn)換。在聚合管道中,你可以使用$match
階段來進行條件判斷。$match
階段會根據(jù)指定的表達式過濾文檔,只輸出符合條件的文檔。
下面是一個簡單的例子,展示了如何使用$match
階段進行條件判斷:
假設(shè)我們有一個名為students
的集合,其中包含以下文檔:
[
{ "_id": 1, "name": "Alice", "age": 20, "score": 85 },
{ "_id": 2, "name": "Bob", "age": 22, "score": 90 },
{ "_id": 3, "name": "Cathy", "age": 19, "score": 88 },
{ "_id": 4, "name": "David", "age": 21, "score": 95 }
]
現(xiàn)在,我們想要查詢年齡在19歲以上且分數(shù)在85分以上的學生。我們可以使用以下聚合管道查詢:
db.students.aggregate([
{
$match: {
age: { $gt: 19 },
score: { $gt: 85 }
}
}
])
這個查詢的輸出將是:
[
{ "_id": 2, "name": "Bob", "age": 22, "score": 90 },
{ "_id": 4, "name": "David", "age": 21, "score": 95 }
]
在這個例子中,我們使用$match
階段來過濾出年齡在19歲以上且分數(shù)在85分以上的學生。$gt
操作符表示“大于”。你可以根據(jù)需要使用其他比較操作符,如$lt
(小于)、$gte
(大于等于)、$lte
(小于等于)等。