On this page本页内容
If the 如果<value>
is an expression, $literal
does not evaluate the expression but instead returns the unparsed expression.<value>
是表达式,$literal
不计算表达式,而是返回未分析的表达式。
Result | ||
---|---|---|
{ $literal: { $add: [ 2, 3 ] } } |
{ "$add" : [ 2, 3 ] } | |
{ $literal: { $literal: 1 } } |
{ "$literal" : 1 } |
$
as a Literal$
视为文字¶In expression, the dollar sign 在表达式中,美元符号$
evaluates to a field path; i.e. provides access to the field. $
计算为字段路径;即提供进入现场的通道。For example, the 例如,$eq
expression $eq: [ "$price", "$1" ]
performs an equality check between the value in the field named price
and the value in the field named 1
in the document.$eq
表达式$eq: [ "$price", "$1" ]
在文档中名为price
的字段中的值和名为1
的字段中的值之间执行相等检查。
The following example uses a 下面的示例使用$literal
expression to treat a string that contains a dollar sign "$1"
as a constant value.$literal
表达式将包含美元符号"$1"
的字符串视为常量值。
A collection 集合records
has the following documents:records
包括以下文档:
This operation projects a field named 此操作会投影一个名为costsOneDollar
that holds a boolean value, indicating whether the value of the price
field is equal to the string "$1"
:costsOneDollar
的字段,该字段包含一个布尔值,指示price
字段的值是否等于字符串"$1"
:
1
1
的新字段¶The $project
stage uses the expression <field>: 1
to include the <field>
in the output. $project
阶段使用表达式<field>:1
<field>
包含在输出中。The following example uses the 下面的示例使用$literal
to return a new field set to the value of 1
.$literal
返回一个设置为1
的新字段。
A collection 集合bids
has the following documents:bids
包含以下文档:
The following aggregation evaluates the expression 以下聚合对表达式item: 1
to mean return the existing field item
in the output, but uses the { $literal: 1 }
expression to return a new field startAt
set to the value 1
:item: 1
进行求值,表示返回输出中的现有字段项,但使用{ $literal: 1 }
表达式将新字段startAt
集返回到值1
:
The operation results in the following documents:该操作将生成以下文档: