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