https://www.mongodb.com/ko-kr/docs/manual/tutorial/install-mongodb-community-with-docker/
몽고디비와 도커 연결을 위해 명령어를 입력해준다.
docker pull mongodb/mongodb-community-server:latest
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-community-server:latest
nestJS 환경에서 설정하였으며 아래와 같이 env 파일을 이용해 연결해주었다.
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: ['stage.dev.env'],
}),
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => {
return {
type: 'mongodb',
url: configService.get('DB_URL'),
port: configService.get('DB_PORT'),
autoLoadEntities: true,
synchronize: true,
entities: [__dirname + '/**/*.entity{.ts,.js}'],
};
},
}),
],
})
export class AppModule {}
env 파일을 연결할 때 .env가 들어간 파일 이름을 그대로 명시해주어도 되며,
상대경로, 절대경로 모두 인식 가능하다.
기본 이름일 때는 .env 로 명명 하는 경우가 많으나 위의 경우 처럼 'stage.dev.env' 가 이름인 경우 .stage.dev.env 가 아닌 stage.dev.env로 명명해주어야 했다..!
만약 .env가 인식되지 않는 경우
NestJS에서 MongoDB를 연결할 때 아무 환경 변수도 설정하지 않았다면, 기본적으로 `localhost:27017`로 연결된다.
NestJS에서 MongoDB와의 연결은 `@nestjs/mongoose` 또는 `@nestjs/typeorm` 패키지를 사용해 이루어 지는데, 이 패키지들은 내부적으로 MongoDB 클라이언트를 사용하여 기본적으로 `mongodb://localhost:27017/test` 경로로 연결하려고 한다.
여기서 `/test`는 기본적으로 사용하는 데이터베이스 이다.
만약 환경 변수나 다른 설정을 따로 지정하지 않았다면, 이런 기본 설정값으로 연결될 수 있다.
'error' 카테고리의 다른 글
[JPA] @Query 어노테이션 사용시 주의점 정리 (0) | 2024.08.04 |
---|---|
[SQL] Incorrect string value, Data too long for column (0) | 2024.07.30 |
[Redis] Unable to connect to Redis : 로컬에 Redis init 시 config 파일 가져오기 (0) | 2024.07.28 |
Unsupported Java. Your build is currently configured to use Java 22.0.1 and Gradle 8.7. (0) | 2024.07.09 |
iptables NAT 테이블을 활용한 포트포워딩 에러 해결 (0) | 2024.07.09 |