findOne() public méthode

public findOne ( $collectionName, $filter = [], array $options = [] )
$options array
Exemple #1
0
 /**
  * Read the cache for the given key.
  *
  * @param string $key Cache key
  *
  * @return string|bool Cache content, or bool false if the key is not found in the cache.
  */
 public function read($key)
 {
     $result = $this->mongoInstance->findOne(self::collection, ['key' => $key]);
     if (is_array($result) && isset($result['content'])) {
         $this->remainingTtl = $result['ttl']->toDateTime()->getTimestamp() - time();
         return $result['content'];
     }
     $this->remainingTtl = 0;
     return false;
 }
Exemple #2
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));
 }
Exemple #3
0
 /**
  * @dataProvider driverSet
  */
 public function testMongo(Mongo $mongo)
 {
     $collection = 'TestCollection';
     $mongo->dropCollection($collection);
     // Test create collection
     $mongo->createCollection($collection);
     $collectionNames = $mongo->getCollectionNames();
     $this->assertContains($collection, $collectionNames);
     // Test insert data
     $data = ['name' => 'Webiny'];
     $mongo->insert($collection, $data);
     $this->assertEquals(1, $mongo->count($collection));
     $this->assertArrayHasKey('_id', $data);
     // Get new record ID
     $id = $data['_id'];
     // Test update and findOne
     $mongo->update($collection, ['_id' => $id], ['name' => 'Updated Webiny']);
     $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 ensureIndex
     $res = $mongo->ensureIndex($collection, 'name');
     $this->assertEquals(1, $res['ok']);
     // Test remove data
     $mongo->remove($collection, ['_id' => $id]);
     $this->assertEquals(0, $mongo->count($collection));
     // Test save
     $data = ['name' => 'Webiny Save'];
     $res = $mongo->save($collection, $data);
     $this->assertEquals(1, $res['ok']);
     // Test drop collection
     $mongo->dropCollection($collection);
     $this->assertFalse(in_array($collection, $mongo->getCollectionNames()->toArray()));
     // Test isMongoId()
     $id = '12345678absdfgrtuierwe12';
     $this->assertFalse($mongo->isMongoId($id));
     $id = 'aaaabbbbcccc 11122223333';
     $this->assertFalse($mongo->isMongoId($id));
     $id = '543c1d846803fa76058b458b';
     $this->assertTrue($mongo->isMongoId($id));
 }