/** * Return a new Database instance. * * If a logger callable was defined, a LoggableDatabase will be returned. * * @see Connection::selectDatabase() * @param string $name * @return Database */ protected function doSelectDatabase($name) { $mongoDB = $this->mongoClient->selectDB($name); $numRetries = $this->config->getRetryQuery(); $loggerCallable = $this->config->getLoggerCallable(); return $loggerCallable !== null ? new LoggableDatabase($this, $mongoDB, $this->eventManager, $numRetries, $loggerCallable) : new Database($this, $mongoDB, $this->eventManager, $numRetries); }