将mongo中的2d数组转换为1d MONGO

时间:2019-03-02 10:32:34

标签: php database mongodb mongodb-query aggregation-framework

我有以下数据需要在mongo中将2d数组转换为1d数组。 以下是我的收藏集

_id: "2018-08-26",
extra_employee_data: [
  [
    {
      employee_id: 0,
      total_payable: 200,
      payment_id: 1
    },
    {
      employee_id: 1,
      total_payable: 500,
      payment_id: 2
    }
  ],
  [
    {
      employee_id: 0,
      total_payable: 100,
      payment_id: 1
    }
  ]
],

在我想要的输出中,extra_employee_data的所有数据都应该放在单个数组中

例如:

_id: "2018-08-26",
extra_employee_data: [
  [
    {
      employee_id: 0,
      total_payable: 100,
      payment_id: 1
    }
  ],
  [
   {
      employee_id: 0,
      total_payable: 200,
      payment_id: 1
    }
  ],
  [
    {
      employee_id: 1,
      total_payable: 500,
      payment_id: 2
    }
  ]
 ]

我曾经尝试过$ split和$ reduce,但是到目前为止还没有运气。

到目前为止,我已经尝试过了

extra_data1'=> [ 
	       					'$map'=> [
	         				'input'=> '$extra_employee_data',
	        				'as'=> 'exd',
	         					'in'=> [ 
	          					 'employee_id'=> ['$arrayElemAt'=> [ '$$exd.employee_id', 0 ] ], 
	           					 'payment_type'=> ['$arrayElemAt'=> [ '$$exd.payment_id', 0 ] ],
	           					 'amount'=> ['$arrayElemAt'=> [ '$$exd.total_payable', 0 ] ]
	       					 	 ]
       						]
     					],

0 个答案:

没有答案