$set
将新字段追加到现有文档。您可以$set
在聚合操作中包括一个或多个阶段。
要将一个或多个字段添加到嵌入式文档(包括数组中的文档),请使用点符号。参见示例。
要将元素添加到现有的数组字段中$set
,请使用$concatArrays
。参见示例。
使用点表示法将新字段添加到嵌入式文档中。
vehicles
使用以下内容创建一个样本集合:
以下聚合操作将一个新字段添加fuel_type
到嵌入式文档specs
。
该操作返回以下结果:
在$set
操作中指定现有字段名称将导致替换原始字段。
创建一个调用animals
以下示例的样本集合:
以下$set
操作将覆盖该cats
字段:
该操作返回以下文档:
可以将一个字段替换为另一个字段。在以下示例中,该item
字段替代了该_id
字段。
创建一个名为的样本集合,fruits
其中包含以下文档:
以下聚集操作用于$set
将_id
每个文档的字段替换为
字段的值item
,并使用item
string 替换字段"fruit"
。
该操作返回以下内容:
scores
使用以下内容创建一个样本集合:
可以使用$set
与一个$concatArrays
表达将元素添加到现有的阵列字段。例如,以下操作用于$set
将一个homework
字段替换为
一个新数组,该数组的元素是当前
homework
数组与另一个包含新score的数组连接在一起。[ 7 ]
该操作返回以下内容: