collection('logs')->insertOne([...]); */ class Mongo { /** @var array Кэш подключений по имени */ protected static array $_instances = []; /** * @param string|null $name Имя подключения из конфига; null — 'default' * @return MongoDriver * @throws MyException Если подключение не описано в конфиге */ public static function instance(?string $name = null): MongoDriver { $name ??= 'default'; if (!isset(self::$_instances[$name])) { $config = Config::get('mongo', $name); if ($config === null) { throw new MyException('Подключение к MongoDB не описано в конфиге: :name', [':name' => $name]); } self::$_instances[$name] = new MongoDriver($config); } return self::$_instances[$name]; } }