MongoDB 数据操作(八)聚合框架(3)$match

     发布在:SQL      浏览:32      评论:0 条评论

上一篇:《MongoDB 数据操作(八)聚合框架(2)$project》

$match 是一个滤波操作,就是进行 where 的过滤

查询工资在 2000 ~ 5000 的雇员

> db.emps.aggregate([{"$match":
      {
          "salary": {"$gte": 2000, "$lte": 5000}
      }
  }]).pretty();
MongoDB 数据操作(八)聚合框架(3)$match

这个时候实现的代码严格来讲只是相当于 SELECT * FROM 表 WHERE 条件

控制投影操作

> db.emps.aggregate([
      {"$match": {
          "salary": {"$gte": 2000, "$lte": 5000}
      }},
      {"$project": {
          "_id": 0,
          "name": 1,
          "salary": 1
      }}
  ]).pretty();
MongoDB 数据操作(八)聚合框架(3)$match

此时相当于实现 SELECT 字段 FROM 表 WHERE 条件 语句

继续分组

> db.emps.aggregate([
      {"$match": {
          "salary": {"$gte": 2000, "$lte": 5000}
      }},
      {"$project": {
          "_id": 0,
          "name": 1,
          "salary": 1,
          "job": 1
      }},
      {"$group": {
          "_id": "$job",
          "count": {"$sum": 1},
          "avg": {"$avg": "$salary"}
      }}
  ]).pretty();
MongoDB 数据操作(八)聚合框架(3)$match

通过一系列的演示可以总结一点:

下一篇:《MongoDB 数据操作(八)聚合框架(4)$sort》

Responses