NestJs -MongoDB-

최예닮·2023년 1월 17일
0
post-thumbnail

오늘은 🦁 NestJs MongoDB 를 연결해보자 !

사실 공식문서에 다 나와있다 ㅎ

갓 공식문서 링크 : https://docs.nestjs.com/

// aap.module.ts
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { MongooseModule } from '@nestjs/mongoose';
import { MemberModule } from './member/member.module';
import { AuthModule } from './auth/auth.module';

@Module({
  imports: [
    MemberModule, 
    AuthModule,
    ConfigModule.forRoot(),
    MongooseModule.forRoot(process.env.DB_HOST), 
    ],
  controllers: [],
  providers: [],
})
export class AppModule {}

.env 파일경로는 기존 root 에다가 만들어주면 된다. 실수로 밖에다 둬서 ^^... 어이없이 시간을 허비했다요 ...

//.member/entity/member.entities.ts

...

export const MemberSchema = SchemaFactory.createForClass(Member);

스캐마에 이렇게 export 를 해줘야 사용할 수 있다 !

// member/member.modules.ts

@Module({
  imports: [
    MongooseModule.forFeature([{ name: Member.name, schema: MemberSchema }]),
    forwardRef(() => AuthModule),
  ],
  controllers: [MemberController],
  providers: [MemberService, MemberRepository],
  exports: [MemberService, MemberRepository],
})
export class MemberModule {}

여기에서 의존성주입으로 인해 클래스는 한방향으로 흘러야하기 때문에 imports 코드를 저렇게 작성해주었다 !

// auth/auth.module.ts

@Module({
  imports: [
    ConfigModule.forRoot(),
    JwtModule.register({
      secret: process.env.SECRET_KEY,
    }),
    forwardRef(() => MemberModule),
  ],
  providers: [AuthService, JwtStrategy],
  exports: [AuthService],
})
export class AuthModule {}

여기도 마찬가지로 한방향으로 흘러야하기 때문에 imports 를 저런식으로 작성해 주었다.

그럼 이렇게 정상적으로 실행되는것을 알 수 있다 ⭐️

🦁 NestJs ... 재미있어...

profile
산을 오르려고 하는데 이제 주차장에 막 주차한 초보개발자

0개의 댓글