Запросы и объекты с типами

NestJS - полезный фреймворк. Сегодня мы увидим, как настроить TypeORM с Postgres в NestJS.

Но прежде чем вдаваться в подробности, ответим на несколько вопросов.

Что такое NestJS?

NestJS - это платформа для создания эффективных масштабируемых серверных приложений Node.js. Он использует прогрессивный JavaScript, построен на TypeScript и полностью поддерживает его.

NestJS предоставляет готовую архитектуру приложений, которая позволяет разработчикам создавать хорошо тестируемые, масштабируемые, слабо связанные и легко обслуживаемые приложения.

Определение TypeORM

TypeORM - это объектно-реляционный преобразователь (ORM), который может работать в Node.js, браузерах и Cordova - и может использоваться с TypeScript и JavaScript (ES5, ES6, ES7).

Целью этого является оказание помощи с помощью функций JavaScript и помощь в разработке приложений, использующих базы данных, от малых до крупных.

Зачем использовать TypeORM?

Мы выбрали TypeORM, потому что это определенно зрелая ORM, доступная для Node.js. Кроме того, он написан на TypeScript и неплохо работает с NestJS.

Для тех, кто уже знаком с другими упомянутыми технологиями и с тем, что делают ORM, я хотел бы помочь вам опробовать их и понять, почему мне понравилось использование этого уровня ORM.

Итак, давайте использовать Postgres, используя TypeORM в NestJS. Предполагая, что вы уже установили NestJS и Postgres, нам нужно установить все зависимости TypeORM:

npm i — save @nestjs/typeorm typeorm pg

После завершения процесса установки, во-первых, нам понадобится хотя бы один объект.

Пакет TypeORM поддерживает шаблон проектирования репозитория, поэтому каждая сущность имеет свой собственный репозиторий. Репозитории можно получить при подключении к базе данных.

Теперь создайте объект блога внутри каталога блога:

Нам необходимо создать модуль базы данных на основе пакета TypeORM. Мы можем создать модуль базы данных с помощью Nest CLI.

Например:

nest g mo database

Or:

nest generate module database

Тогда вы увидите что-то вроде этого.

Внутри database.module.ts импортируйте TypeOrmModule и укажите следующее:

Метод forRoot() принимает тот же объект конфигурации, что и createConnection() из пакета TypeORM.

Объект Blog принадлежит каталогу blog. Этот каталог представляет собой BlogModule. Вы сами решаете, где вы собираетесь хранить файлы модели.

Давайте посмотрим на BlogModule:

Этот модуль использует метод forFeature(), чтобы определить, какие репозитории должны быть зарегистрированы в текущей области.

Теперь мы можем вставить BlogRepository в BlogService с помощью декоратора @InjectRepository().

Не забудьте импортировать BlogModule и DatabaseModule в корень AppModule:

Заключение

В этой статье мы узнали, как настроить TypeORM с Postgres в приложении NestJS.

Спасибо за чтение - надеюсь, это вам помогло.

Более подробная информация доступна на официальном сайте документации NestJS.