js-repository-mongodb-adapter
Языки
- JavaScript99,6%
- Shell0,4%
@e22m4u/js-repository-mongodb-adapter
MongoDB адаптер для @e22m4u/js-repository.
Установка
Описание
Адаптер предоставляет возможность использовать MongoDB в качестве хранилища
данных для . Он автоматически преобразует названия
моделей в названия коллекций, а также выполняет преобразование стандартных
операторов фильтрации в нативные запросы MongoDB.
ObjectId
Взаимодействие с репозиторием происходит с использованием строкового
представления идентификаторов. Адаптер самостоятельно преобразует строки
в перед отправкой запросов в базу данных и выполняет обратное
преобразование при получении результатов. Это позволяет работать
с идентификаторами как с обычными строками без необходимости импортировать
из драйвера MongoDB.
Источник данных
Источник данных для MongoDB адаптера определяется с помощью метода
экземпляра .
Параметры
| название | значение по умолчанию | описание |
|---|---|---|
| protocol | | протокол подключения |
| host | | имя хоста или IP адрес |
| port | | порт |
| database | | название базы данных |
| username | | имя пользователя |
| password | | пароль |
Кроме перечисленных выше, адаптер поддерживает все стандартные параметры
из официального драйвера MongoDB для NodeJS. Эти
параметры можно передавать напрямую в определении источника данных.
Пример
Ограничения
-
Первичный ключ.
Свойство, выступающее в роли первичного ключа, должно иметь названиеилиid. Использование других названий для первичного ключа не поддерживается._id -
Автогенерация идентификатора.
Автоматическая генерацияпри создании нового документа работает только для свойств с типомObjectIdилиstring. Для других типов данных значение первичного ключа необходимо указывать вручную.any
Преобразование операторов
Адаптер преобразует стандартные операторы фильтрации в нативные операторы запросов MongoDB.
| оператор | MongoDB |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| с |
| с флагом |
| с и флагом |
| |
Тесты
Запуск контейнера скриптом
Выполнение тестов
Лицензия
MIT