MongoDB聚合运算符:$arrayToObject

MongoDb聚合运算符$arrayToObject可以将一个数组转换为文档。注意只有两种数组才可以转换为文档,参见$arrayToObject使用

语法

{
   
    $arrayToObject: <expression> }

<expression>必须是数组或能够被解析为数组的表达式,而且数组元素要么是只有两个元素的数组,要么是包含kv两个字段的文档数组。

使用

注意,不是所有的数组表达式都能转换为文档,只有下面两种数组才可以进行转换:

  1. 只有两个元素的数组,第一个元素为字段名,第二个元素为字段值:

    [ [ [ "item", "abc123" ], [ "qty", 25 ] ] ]
    
  2. 包含两个字段的文档数组,一个字段是k一个字段是v

    1. 字段k包含了字段名
    2. 字段v包含了字段值
    [ [ {
         
          "k": "item", "v": "abc123" }, {
         
          "k": "qty", "v": 25 } ] ]
    
例子 返回
{ $arrayToObject: [[ { "k": "item", "v": "abc123" }, { "k": "qty", "v": "$qty" } ]] } 当文档字段qty的值为25时,返回:{ "item" : "abc123", "qty" : 25 }
{ $arrayToObject: { $literal: [[ "item", "abc123" ], [ "qty",25 ]] } } { "item" : "abc123", "qty" : 25 }
{ $arrayToObject: { $literal: [ { "k": "item", "v": "123abc" }, { "k": "item", "v": "abc123" }] } } { "item" : "abc123" }

举例

$arrayToObject

集合inventory中有下面的文档:

{
   
    "_id" : 1, "item" : "ABC1",  dimensions: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原子星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值