MongoDB聚合

(一)管道操作符
每个操作符都会接受一连串的文档,对这些文档做类型转换,最后将转换后的文档作为结果传递给下一个操作符,对于最后一个管道操作符,将结果返回客户端。
不同管道操作符可以按任意顺序组合在一起使用,而且可以重复多次使用。
1、”$match”
用于对文档集合进行筛选,应该尽可能将”$match”放在管道的前面位置,可以快速将不需要的文档过滤掉;在投射和分组之前执行”$match”,可以使用索引。
“$match”可以使用所有常规的查询操作符,但是不能使用地理空间操作符。
这里写图片描述

2、”$project”
使用”$project”操作可以从文档中提取字段,可以指定包含或排除某个字段。
这里写图片描述
对投射字段进行重命名,使用”$fieldName”语法为了在聚合框架中引用fielaName字段的值,将要被替换名字的字段写成 “$fieldName”。必须明确将”_id”字段排除,否则值会被返回两次:
这里写图片描述
MongoDB不会记录字段的历史名称,如果在原始字段上有索引,但是聚合框架无法在重命名后的字段上使用索引。应该尽量在修改字段名称之前使用索引。

管道表达式
1、”$add”:[expr1[,expr2,expr3….exprN]]
接受同一个文档中一个或多个表达式作为参数,将这些表达式相加。
这里写图片描述
2、”$subtract”:[expr1,expr2]
接受两个表达式作为参数,用第一个表达式减去第二个表达式作为结果:
这里写图片描述
3、”$multiply”:[expr1[,expr2,expr3…..exprN]]
接受一个或多个表达式,并且将它们相乘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值