Protected_Protected Optional_Дополнительные опции для работы базы данных
Формат базы данных
Выполняет INSERT-запрос.
Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.
Выполняет произвольный запрос через callback.
Если вы планируете использовать query(), обязательно переопределите _query. По умолчанию он возвращает null и не выполняет никаких действий.
функция обработчик
Выполняет DELETE-запрос.
Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.
Выполняет SELECT-запрос.
⚠️ Файловый адаптер поддерживает только точное совпадение значений. Условия с операторами (например, $gt, $in) игнорируются.
Дополнительная информация для запроса. Содержит информацию о таблице и структуре.
Сам запрос
Определяет нужно ли вернуть только 1 найденную запись, либо отдать все доступные данные.
Выполняет UPDATE-запрос.
Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.
Закрывает подключение к определенной таблице. При закрытии, все хранящиеся в памяти данные сохраняются в файл.
Устанавливает подключение к базе данных. В случае успешного подключения возвращается true
Закрывает все подключения к файловой БД. Все процессы завершаются, и происходит сохранение данных в файл.
Экранирует строку для безопасного использования в запросах.
⚠️ По умолчанию просто приводит значение к строке. Если ваша БД требует экранирования (например, SQL), обязательно переопределите этот метод.
Экранируемый запрос
Получение всех данных из базы
Имя таблицы
Загружает данные таблицы из JSON-файла и кэширует их в памяти.
${tableName}.json из директории appConfig.json.Формат данных в файле:
{
"user123": { "name": "Alice", "age": 30 },
"user456": { "name": "Bob", "age": 25 }
}
где ключ — значение первичного ключа. В случае если файла нет, вернутся пустые данные
Имя таблицы (используется как имя файла)
Удобный метод для извлечения данных из результата запроса.
Проверяет res.status и возвращает res.data только при успехе.
Используется в моделях и контроллерах для безопасного доступа к данным.
Метод инициализации адаптера.
Вызывается один раз при подключении через bot.use().
В данном методе можно произвести дополнительную настройку для подключения к базе
Контекст приложения
Выполняет INSERT-запрос.
Внутри себя вызывает this._insert, основное отличие в том, что в данном методе пишутся метрики.
Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.
Проверяет, установлено ли соединение с БД.
Выполняет произвольный запрос через callback.
Внутри себя вызывает this._query, основное отличие в том, что в данном методе пишутся метрики.
функция обработчик
Выполняет DELETE-запрос.
Внутри себя вызывает this._remove, основное отличие в том, что в данном методе пишутся метрики.
Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.
Сохраняет запись: вставляет новую или обновляет существующую. Логика:
isNew === true → вызывается insertselectOne по saveData.query,
и если запись найдена — вызывается update, иначе — insertДанные для запроса. Включает как запроса, так и сами данные
Флаг, говорящий о том, что точно происходит добавление новой записи
Выполняет SELECT-запрос.
Внутри себя вызывает this._select, основное отличие в том, что в данном методе пишутся метрики.
Дополнительная информация для запроса. Содержит информацию о таблице и структуре.
Сам запрос
Определяет нужно ли вернуть только 1 найденную запись, либо отдать все доступные данные.
Выполняет SELECT с ограничением до одной записи.
Дополнительные данные для запроса
Сам запроса
Сохранение всех данные в базу
Имя таблицы
Сохраняемые данные
Выполняет UPDATE-запрос.
Внутри себя вызывает this._update, основное отличие в том, что в данном методе пишутся метрики.
Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.
Адаптер для файловой базы данных. Стоит использовать только для быстрого старта, либо для приложений, у которых объем базы не будет превышать 250мб.