コード例 #1
0
ファイル: PipelineTest.php プロジェクト: agolomazov/php-mongo
 /**
  * Check if pipeline added as new or appended to previouse on same operator
  */
 public function testPipeline_Append()
 {
     $pipeline = new Pipeline($this->collection);
     // insert new match pipeline
     $pipeline->match(array('field1' => 'value1'));
     // insert new project pipeline
     $pipeline->project(array('field2' => 'value2'));
     // insert new match pipeline
     $pipeline->match(array('field3' => 'value3'));
     // append match pipeline to previous
     $pipeline->match(array('field3' => 'value3merged', 'field4' => 'value4'));
     // insert new sort pipeline
     $pipeline->sort(array('field5' => 'value5'));
     // insert new group pipeline
     $pipeline->group(array('_id' => '$groupField', 'field6' => array('$sum' => 1)));
     $this->assertEquals(array(array('$match' => array('field1' => 'value1')), array('$project' => array('field2' => 'value2')), array('$match' => array('field3' => 'value3merged', 'field4' => 'value4')), array('$sort' => array('field5' => 'value5')), array('$group' => array('_id' => '$groupField', 'field6' => array('$sum' => 1)))), $pipeline->toArray());
 }