$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
运算符接受单个操作数。
该操作返回以下文档:
注意
如果要合并的文档包含相同的字段名称,则结果文档中的字段具有该字段上次合并的文档中的值。