溫馨提示×

MongoDB聚合管道查詢怎樣進行條件判斷

小樊
82
2024-10-30 15:06:23
欄目: 云計算

在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(小于等于)等。

0