面试题答案
一键面试- $match:
- 应用场景:用于筛选数据,只保留符合指定条件的文档。常用于在聚合操作开始时对大量数据进行初步过滤,减少后续处理的数据量。例如,在一个电商订单集合中,筛选出订单金额大于100元的订单数据进行后续分析。
- $group:
- 应用场景:按指定的字段对文档进行分组,并可以对每个分组进行计算,如求和、平均值、计数等。适用于需要按类别统计数据的场景。比如,按商品类别统计商品的销售总量、平均售价等。
- $project:
- 应用场景:用于选择要在结果中包含的字段,还可以对字段进行重命名、计算新字段等操作。常用于只需要返回特定字段,隐藏敏感信息或者创建新的衍生字段。例如,在用户信息集合中,只返回用户名和年龄字段,或者根据生日字段计算出年龄新字段。
- $sort:
- 应用场景:根据指定的字段对文档进行排序,升序或降序排列。适用于需要按特定顺序呈现数据的场景,比如按订单金额降序排列,查看金额最高的订单排在前面。
- $limit:
- 应用场景:限制聚合结果集返回的文档数量。常用于只需要获取部分数据的场景,例如在分页查询中,获取第一页的10条数据。