在本页面
聚合表达式可以同时使用 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表达式的允许结果之一。 |
也可以看看
译者:李冠飞
校对: