示例#1
0
 public function testUnwind()
 {
     // add documents
     $this->collection->batchInsert(array(array('subdoc' => array('key' => array(1, 2))), array('subdoc' => array('key' => array(4, 8)))));
     // create pipeline
     $pipeline = new Pipeline($this->collection);
     $pipeline->unwind('$subdoc.key');
     // get result
     $result = $pipeline->aggregate();
     $this->assertEquals(4, count($result));
     $this->assertEquals(1, $result[0]['subdoc']['key']);
     $this->assertEquals(2, $result[1]['subdoc']['key']);
     $this->assertEquals(4, $result[2]['subdoc']['key']);
     $this->assertEquals(8, $result[3]['subdoc']['key']);
     $this->assertTrue((string) $result[0]['_id'] === (string) $result[1]['_id']);
     $this->assertTrue((string) $result[2]['_id'] === (string) $result[3]['_id']);
     $this->assertTrue((string) $result[0]['_id'] !== (string) $result[2]['_id']);
 }