Конвертировать 2d массив в монго в 1d MONGO - PullRequest
0 голосов
/ 02 марта 2019

У меня есть следующие данные, в которых мне нужно преобразовать 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 и $ Reduction, но пока не повезло.

Пока я пробовал это

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 ] ]
	       					 	 ]
       						]
     					],
...