Я работаю над своим первым приложением Nest JS, которое отлично работало с жестко запрограммированной строкой подключения к базе данных в app.module.ts
.
Но затем в соответствии с нашими требованиями мне пришлось выбрать значения конфигурации базы данных из файлов среды. Для этого я следовал документации конфигурации на веб-сайте документации nest js - https://docs.nestjs.com/techniques/configuration
Но проблема в том, что мне нужно использовать переменные .env внутри того же файла для соединение с базой данных, которое не работает.
Вот мой исходный код, который работал нормально:
@Module({
imports: [
MongooseModule.forRoot(`mongodb+srv://myusername:mypassword@myhost.net?retryWrites=true&w=majority&db=dbname`, { useNewUrlParser: true, dbName: 'dbname' }),
ProductModule,
CategoryModule,
],
controllers: [
AppController,
HealthCheckController,
],
providers: [AppService, CustomLogger],
})
Теперь я хотел выбрать те значения DB из файлов .env, которые похожи на local.env
, dev.env
и c. в зависимости от окружающей среды. Теперь мой этот код не работает:
@Module({
imports: [
ConfigModule.forRoot({ envFilePath: `${process.env.NODE_ENV}.env` }),
MongooseModule.forRoot(`mongodb+srv://${ConfigModule.get('DB_USER')}:${ConfigModule.get('DB_PASS')}@myhost.net?retryWrites=true&w=majority&db=dbname`, { useNewUrlParser: true, dbName: 'dbname' }),
ProductModule,
CategoryModule,
],
controllers: [
AppController,
HealthCheckController,
],
providers: [AppService, CustomLogger],
})