Create a new cursor
public __construct ( MongoGridFS $gridfs, MongoClient $connection, string $ns, array $query = [], array $fields = [] ) | ||
$gridfs | MongoGridFS | Related GridFS collection |
$connection | MongoClient | Database connection |
$ns | string | Full name of database and collection |
$query | array | Database query |
$fields | array | Fields to return |
/** * Constructor. */ public function __construct(LoggableMongoGridFS $grid, array $query = array(), array $fields = array(), $type = 'find') { $this->grid = $grid; $mongo = $grid->getDB()->getMongo(); $ns = $grid->getDB()->__toString() . '.' . $grid->getName(); $this->type = $type; $this->explainCursor = new \MongoGridFSCursor($grid, $mongo, $ns, $query, $fields); $this->time = new Time(); parent::__construct($grid, $mongo, $ns, $query, $fields); }
public function __construct($gridFsName, $filter = array()) { $databases = Conf::f('databases', array()); $config = Conf::f('storage-mongodb-object', array()); $dbName = isset($config['databases']) ? $config['databases'] : 'default'; if (!isset($databases[$dbName])) { throw new \photon\db\UndefinedConnection(sprintf('The connection "%s" is not defined in the configuration.', $dbName)); } $class = class_exists('\\MongoClient') ? '\\MongoClient' : '\\Mongo'; $conn = new $class($databases[$dbName]['server'], $databases[$dbName]['options']); $db = $conn->selectDB($databases[$dbName]['database']); $gridfs = $db->getGridFS($gridFsName); $ns = $databases[$dbName]['database'] . '.' . $gridFsName . '.files'; $fields = array(); parent::__construct($gridfs, $conn, $ns, $filter, $fields); }