使用MongoDB和PHP更改查询响应数组值

I am new in MongoDB. I have created query in MongoDB using PHP. My query is as follows:

$date_start = new MongoDate(strtotime("2016-06-08T18:30:00.000Z"));
$default_date = new MongoDate(strtotime("1970-01-01T00:00:00.000Z"));
$pipeline = array(
  array('$project' => array(
    'MainsPower' => 1,
    'EventTS' => 1
  )),
  array('$unwind' => array(
    'path' => '$MainsPower',
    'includeArrayIndex' => "arrayIndex",
    'preserveNullAndEmptyArrays' => true
  )),
  array('$match' => array(
    '$and' => array(
      //array('EventTS' => array('$gt' => $date_start)),
      //array('PanelID' => 'A00911'),
      array("MainsPower" => array('$ne' => null))
    )
  )),
  array(
    '$project' => array(
      'MainsPower' => 1,
      '_id' => 0,
      'EventTS' => array(
        '$add' => array(
          array('$subtract' => array('$EventTS', $default_date)),
          array('$multiply' => array(60000, '$arrayIndex'))
        )
      )
    )
  ),
);
$result = $collection - > aggregate($pipeline);

Output of query is as below

Array
  (
    [0] => Array(
      [EventTS] => 1497033900000[MainsPower] => 204
    )

    [1] => Array(
      [EventTS] => 1497034800000[MainsPower] => 204
    )

    [2] => Array(
      [EventTS] => 1497035700000[MainsPower] => 204
    )
  )

But, I want output as below because while plotting graph I need data in below format I searched many solution and I tried to apply the same but failed to get records in required format

Array
  (
    [0] => Array(
      [1497033900000, 204]
    )

    [1] => Array(
      [1497034800000, 204]
    )

    [2] => Array(
      [1497035700000, 204]
    )
  )

</div>

Use the below code:

$formattedResponse = array();
    foreach($mongoOutput as $out){
       $formattedResponse[] = array($out["EventTS"],$out["MainsPower"]);
    } 
  • where mongoOutput is the default output you are getting from mongo, and formattedResponse is the variable in which you will get the output in desired format.

Please change variable names as per your needs.