On this page本页内容
$currentDate
¶The $currentDate
operator sets the value of a field to the current date, either as a Date or a timestamp. $currentDate
运算符将字段的值设置为当前日期(作为Date或timestamp)。The default type is Date.默认类型为Date。
The $currentDate
operator has the form:$currentDate
运算符的格式为:
<typeSpecification>
can be either:可以是以下两种之一:
true
to set the field value to the current date as a Date, ortrue
,用于将字段值设置为当前日期,形式为Date
,或{ $type: "timestamp" }
or { $type: "date" }
which explicitly specifies the type. { $type: "timestamp" }
或{ $type: "date" }
。"timestamp"
or the lowercase "date"
."timestamp"
或小写的"date"
。To specify a 若要在嵌入式文档或数组中指定一个<field>
in an embedded document or in an array, use dot notation.<field>
,请使用点表示法。
If the field does not exist, 如果该字段不存在,$currentDate
adds the field to a document.$currentDate
将该字段添加到文档中。
Create a sample collection 使用以下文档创建customers
with the following document:customers
集合:
The following operation updates the 以下操作将lastModified
field to the current date, the "cancellation.date"
field to the current timestamp as well as updating the status
field to "D"
and the "cancellation.reason"
to "user request"
.lastModified
字段更新为当前日期,将"cancellation.date"
字段更新为当前时间戳,并将status
字段更新为"D"
,将"cancellation.reason"
更新为"user request"
。
After the operation, you can query the collection to verify the update:操作完成后,您可以查询集合以验证更新:
The updated document would resemble:更新后的文件类似于:
$currentDate
$currentDate
的聚合替代方案¶Starting in version 4.2, update methods can accept an aggregation pipeline. 从版本4.2开始,更新方法可以接受聚合管道。As such, the previous example can be rewritten as the following using the aggregation stage 因此,可以使用聚合阶段$set
and the aggregation variables NOW
(for the current datetime) and CLUSTER_TIME
(for the current timestamp):$set
和聚合变量NOW
(对于当前日期时间)和CLUSTER_TIME
(对于当前时间戳)将前面的示例重写为以下内容:
Tip
$$
and enclose in quotes.$$
并用引号括起来。CLUSTER_TIME
NOW
and CLUSTER_TIME
values remain the same throughout the pipeline.NOW
和CLUSTER_TIME
值在整个管道中保持不变。After the operation, you can query the collection to verify the update:操作完成后,您可以查询集合以验证更新:
The query should return the following document:查询应返回以下文档: