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