如果<value>是表达式,
$literal则不计算该表达式,而是返回未解析的表达式。
| 例 | 结果 | |
|---|---|---|
{ $literal: { $add: [ 2, 3 ] } } |
{ "$add" : [ 2, 3 ] } |
|
{ $literal: { $literal: 1 } } |
{ "$literal" : 1 } |
$为字面值¶在表达式中,美元符号$计算为字段路径;即提供对现场的访问。例如,该$eq表达式在命名字段中的值和文档中命名字段中的值之间执行相等性检查。$eq: [
"$price", "$1" ]price1
下面的示例使用$literal表达式将包含美元符号的字符串"$1"视为常量。
集合records包含以下文档:
此操作将投影一个名为的字段costsOneDollar,该字段包含一个布尔值,指示该price字段的值是否等于字符串"$1":
1该$project阶段使用表达式在输出中包括。以下示例使用
来返回设置为的新字段。<field>: 1<field>$literal1
集合bids包含以下文档:
以下聚合对表达式进行求值以表示返回输出中的现有字段,但使用该
表达式返回设置为value 的新字段:item: 1item{ $literal: 1 }startAt1
该操作产生以下文档: