$arrayToObject
¶3.4.4版中的新功能。
将数组转换为单个文档;数组必须为:
一个由两个元素组成的数组,其中第一个元素是字段名称,第二个元素是字段值:
- 要么 -
文件数组,包含两个字段,k
并且v
其中:
k
字段包含字段名称。v
字段包含该字段的值。$arrayToObject
具有以下语法:
的<expression>
可以是任何有效的表达解析为两个元件阵列或包含“k”和“V”域的文档阵列的阵列。
有关表达式的更多信息,请参见 表达式。
如果字段名称在数组中重复,
$arrayToObject
使用该字段的最后一个值。对于4.0.0-4.0.4,使用的值取决于驱动程序。$arrayToObject
使用该字段的最后一个值。对于3.6.0-3.6.9,使用的值取决于驱动程序。$arrayToObject
使用该字段的最后一个值。对于3.4.0-3.4.19,使用的值取决于驱动程序。例 | 结果 |
---|---|
从版本4.0.5+(3.6.10+和3.4.19+)开始,如果字段名称在数组中重复,则 |
$arrayToObject
例子¶考虑inventory
包含以下文档的集合:
以下聚合管道操作使用
$arrayToObject
将该dimensions
字段作为文档返回:
该操作返回以下内容:
从版本4.0.5+(3.6.10+和3.4.19+)开始,如果字段名称在数组中重复,则$arrayToObject
使用该字段的最后一个值。
$objectToArray
+ $arrayToObject
示例¶考虑inventory
包含以下文档的集合:
以下聚合管道操作将计算每个物料的总存货并将其添加到instock
凭证中:
该操作返回以下内容:
也可以看看