0

없이 $ 프로젝트 이전 단계 :은 $ 프로젝트 단계에서MongoDB를 집계 파이프 라인 PHP 내 통합 파이프 라인에서 이런 부분 배열 구조가 부분 배열

{ 
    "_id": "london_10:2016-10-07 12", 
    "data": { 
     "voltage_a": 0.008888, 
     "voltage_b": 0.008888, 
     "voltage_c": 0.008888, 
    }, 
    "Voltage (V)": 0.008888, 
    "datetime": "2016-10-07T11:25:46" 
    }, 

, 나는 부분 배열의 데이터에 모든 것을 통과하고있어 '은 현재 존재하는 :

[ 
    '$project' => [ 
     'data' => '$data', 
     'Voltage (V)' => [ 
     '$divide' => [ 
      ['$add' => ['$data.voltage_a', '$data.voltage_b', '$data.voltage_c']] 
     ], 
     ], 
    ] 
    ] 

는 어떻게하면 "전압 (V)"와 "날짜", 즉 평면 구조와 같은 수준 voltage_a, voltage_b 및 voltage_c를 출력하는 데이터는 프로젝트합니까? 당신이 "Voltage (V)""datetime"와 같은 수준에서 voltage_a, voltage_bvoltage_c와 출력이 평평한 구조

+0

, 오른쪽 상부 구조를 달성하려면? – rbr94

+0

예상 출력물을 게시 할 수 있습니까? –

답변

0

, 당신의 파이프 라인을 실행하여 다음과 같이

[ 
    '$project' => [ 
     'voltage_a' => '$data.voltage_a', 
     'voltage_b' => '$data.voltage_b', 
     'voltage_c' => '$data.voltage_c', 
     'Voltage (V)' => [ 
      '$divide' => [ 
       [ '$add' => ['$data.voltage_a', '$data.voltage_b', '$data.voltage_c'] ] 
      ], 
     ], 
     'datetime' => 1 
    ] 
] 
+0

감사합니다. 이것은 명시 적으로 모든 필드를 명시함으로써이를 수행 할 수있는 유일한 방법입니까? 나는이 예에서 3보다 더 많은 것을 가지고있다. – ugotchi

+0

네, 그게 유일한 방법입니다. – chridam