Webiny\Component\Mongo\Mongo::createCollection PHP Method

createCollection() public method

Create collection
public createCollection ( string $name, array $options = [] ) : array | object
$name string Name
$options array
return array | object
    public function createCollection($name, array $options = [])
    {
        return $this->bridge->createCollection($this->cName($name), $options);
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * @dataProvider driverSet
  */
 public function testMongo(Mongo $mongo)
 {
     $collection = 'TestCollection';
     $mongo->dropCollection($collection);
     // Test create collection
     $mongo->createCollection($collection);
     $collections = $mongo->listCollections();
     /* @var $c CollectionInfo */
     $collectionNames = [];
     foreach ($collections as $c) {
         $collectionNames[] = $c->getName();
     }
     $this->assertContains('Mongo_' . $collection, $collectionNames);
     // Test insert data
     $data = ['name' => 'Webiny'];
     $result = $mongo->insertOne($collection, $data);
     $this->assertEquals(1, $result->getInsertedCount());
     $this->assertEquals(1, $mongo->count($collection));
     // Get new record ID
     $id = $result->getInsertedId();
     // Test update
     $res = $mongo->update($collection, ['_id' => $id], ['$set' => ['name' => 'Updated Webiny']]);
     $this->assertEquals(1, $res->getModifiedCount());
     // Test findOne
     $data = $mongo->findOne($collection, ['_id' => $id]);
     $this->assertEquals('Updated Webiny', $data['name']);
     // Test find
     $data = $mongo->find($collection, ['name' => 'Updated Webiny']);
     $this->assertCount(1, $data);
     // Test insertMany
     $mongo->insertMany($collection, [['name' => 'Webiny', 'tag' => 1], ['name' => 'Webiny', 'tag' => 2], ['name' => 'Webiny', 'tag' => 3], ['name' => 'Webiny', 'tag' => 4], ['name' => 'Webiny', 'tag' => 5]]);
     $this->assertEquals(6, $mongo->count($collection));
     // Test find with offset
     $results = $mongo->find($collection, ['name' => 'Webiny'], [], 1, 2);
     $this->assertEquals(3, $results[0]['tag']);
     $results = $mongo->find($collection, ['name' => 'Webiny'], ['tag' => -1], 2, 3);
     $this->assertCount(2, $results);
     $this->assertEquals(2, $results[0]['tag']);
     $this->assertEquals(1, $results[1]['tag']);
     // Test remove data
     $mongo->delete($collection, ['_id' => $id]);
     $this->assertEquals(5, $mongo->count($collection));
     // Test drop collection
     $mongo->dropCollection($collection);
     $collections = $mongo->listCollections();
     /* @var $c CollectionInfo */
     $collectionNames = [];
     foreach ($collections as $c) {
         $collectionNames[] = $c->getName();
     }
     $this->assertFalse(in_array($collection, $collectionNames));
     // Test isId()
     $id = '12345678absdfgrtuierwe12';
     $this->assertFalse($mongo->isId($id));
     $id = 'aaaabbbbcccc 11122223333';
     $this->assertFalse($mongo->isId($id));
     $id = '543c1d846803fa76058b458b';
     $this->assertTrue($mongo->isId($id));
 }
All Usage Examples Of Webiny\Component\Mongo\Mongo::createCollection