• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

populate 문제(cats schema 오류) 해결법

23.02.01 17:14 작성 조회수 576

13

강의대로 따라 했으나, 아래와같은 오류 나는경우 해결법 입니다.

ERROR [ExceptionsHandler] Schema hasn't been registered for model "comments".

Use mongoose.model(name, schema)

다른 문의글 보면 답변으로 버전 문제라고 버전을 내리라고 하시는데 , 좀 이상한 답변이라는 생각에

진짜 몇시간동안 헤매다가 해결했습니다.

 

현재기준 최신버전

"@nestjs/common": "^9.0.0",
"@nestjs/mongoose": "^9.2.1",
"mongoose": "^6.9.0",

에서 아래와 같이 해결 했습니다. 주석참조.

export class CatsRepository {
  constructor(
    @InjectModel(Cat.name) private readonly catModel: Model<Cat>,
    // 해당 라인 추가, 참고로 강의에선 Comments 인데 저는 Cat과 같이 단수형으로 만들어서 Comment 입니다.
    @InjectModel(Comment.name) private readonly commentModel: Model<Comment>,
  ) {}

  async findAll() {
    const result = await this.catModel
      .find()
      // populate 파라미터 변경
      .populate({ path: 'comments', model: this.commentModel });

    return result;
  }
...
}

화면 캡처 2023-02-01 171223.png

다른 누군가에게 도움이 되기를

 

답변 5

·

답변을 작성해보세요.

0

구쟁님의 프로필

구쟁

2023.12.31

도움이 되었습니다 👍👍👍

0

jadw15님의 프로필

jadw15

2023.10.09

감사합니다!

0

김창호님의 프로필

김창호

2023.05.03

저의 구세주십니다.. 감사합니다.

0

김수현님의 프로필

김수현

2023.03.28

와.. 버전을 아무리 바꿔도 안되길래 포기하던 찰나, 위의 방법으로 해결했네요 감사합니다! :)

0

Seongho Yun님의 프로필

Seongho Yun

2023.02.03

덕분에 문제 해결했습니다! 감사합니다!