聚合表达式中的变量


进入MongoDB中文手册(4.2版本)目录

聚合表达式可以使用用户定义的变量和系统变量。
变量可以保存 任何BSON类型的数据。要访问变量的值,请在变量名前加上双美元符号($$);即"$$<variable>"。
如果变量引用一个对象,则要使用点访问该对象中的特定字段;即"$$<variable>.<field>"。

1 用户变量

用户变量名称可以包含ascii字符[ _a-zA-Z0-9] 和任何非ascii字符。
用户变量名称必须以小写字母[a-z] 或非字母字符开头。

2 系统变量

MongoDB提供以下系统变量:

变量描述
NOW返回当前日期时间值的变量。 NOW对于部署的所有成员返回相同的值,并且在聚合管道的所有阶段都保持相同。
4.2版中的新功能。
CLUSTER_TIME返回当前时间戳值的变量。
CLUSTER_TIME仅在副本集和分片群集上可用。
CLUSTER_TIME 对于部署的所有成员返回相同的值,并且在管道的所有阶段都保持相同。
4.2版中的新功能。
ROOT引用在聚合管道阶段当前正在处理的根文档,即顶级文档。
CURRENT引用在聚合管道阶段中正在处理的字段路径的开头。除非另有记录,所有阶段使用CURRENT和ROOT开始是一样 。
CURRENT是可修改的。但是,由于$<field> 等效于$$CURRENT.<field>,所以重新绑定CURRENT会更改使用$的含义。
REMOVE评估为缺失值的变量。允许有条件地排除字段。在$projection中,REMOVE从输出中排除设置为变量的字段。
有关其用法的示例,请参见“ 有条件排除字段”。
3.6版的新功能。
DESCEND$redact表达式的允许结果之一。
PRUNE$redact表达式的允许结果之一。
KEEP$redact表达式的允许结果之一。

也可以看看:$let$redact$map

进入MongoDB中文手册(4.2版本)目录

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值