$mergeObjects¶3.6版的新功能。
将多个文档合并为一个文档。
用作$group舞台累加器时,
$mergeObjects具有以下形式:
在其他表达式中使用时,包括在
$group舞台中但不用作累加器时:
的<document>可以是任何有效的表达解析为一个文件。
mergeObjects忽略null操作数。如果要mergeObjects解析的所有操作数都为null,则
mergeObjects返回一个空文档。{ }mergeObjects合并文档时覆盖字段值。如果要合并的文档包含相同的字段名称,则结果文档中的字段具有上次为该字段合并的文档中的值。| 例 | 结果 |
|---|---|
$mergeObjects¶orders使用以下文档创建一个集合:
items使用以下文档创建另一个集合:
以下操作首先使用$lookup阶段通过item字段将两个集合合并,然后
$mergeObjects在中$replaceRoot使用合并来自items和的合并文档orders:
该操作返回以下文档:
$mergeObjects作为累加器¶sales使用以下文档创建一个集合:
以下操作$mergeObjects在$group按item字段分组文档的阶段中
用作累加器:
注意
当用作累加器时,$mergeObjects运算符接受单个操作数。
该操作返回以下文档:
注意
如果要合并的文档包含相同的字段名称,则结果文档中的字段具有该字段上次合并的文档中的值。