温馨提示×

MongoDB聚合管道查询怎样进行条件判断

小樊
85
2024-10-30 15:06:23
栏目: 云计算

在MongoDB中,你可以使用聚合管道(aggregation pipeline)来对数据进行各种操作和转换。在聚合管道中,你可以使用$match阶段来进行条件判断。$match阶段会根据指定的表达式过滤文档,只输出符合条件的文档。

下面是一个简单的例子,展示了如何使用$match阶段进行条件判断:

假设我们有一个名为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 }
]

现在,我们想要查询年龄在19岁以上且分数在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岁以上且分数在85分以上的学生。$gt操作符表示“大于”。你可以根据需要使用其他比较操作符,如$lt(小于)、$gte(大于等于)、$lte(小于等于)等。

0