聚合表达式中的变量

在本页面
聚合表达式可以同时使用 user-defined 和系统变量。
变量可以容纳任何BSON 类型数据。要访问变量的 value,请使用带有前缀为 double 美元符号($$)的变量 name 的 string。
如果变量 references 一个 object,要访问 object 中的特定字段,请使用点表示法; 即: "$$<variable>.<field>"

用户变量

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

系统变量

MongoDB 提供以下系统变量:
变量
描述
ROOT
References 根文档,即: top-level 文档,当前正在聚合管道阶段中处理。
CURRENT
Reference 聚合管道阶段中正在处理的字段路径的开始。除非另有说明,否则所有阶段都以CURRENT开头,与ROOT相同。 CURRENT可以修改。但是,由于$<field>等同于$$CURRENT.<field>,因此重新绑定CURRENT会改变$访问的含义。
REMOVE
一个变量,用于计算缺少的 value。允许条件排除字段。在$projection中,从输出中排除设置为变量REMOVE的字段。 有关其用法的示例,请参阅有条件地排除字段。 version 3.6 中的新内容。
DESCEND
$redact表达式的允许结果之一。
PRUNE
$redact表达式的允许结果之一。
KEEP
$redact表达式的允许结果之一。
也可以看看
$let$redact$map
译者:李冠飞
校对: