묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결따라하며 배우는 NestJS
findOne(id) 에서 에러가 발생한 경우 해결법
# Info 강의 업로드 연도(2021) 와 수강 연도(2022) 사이에 TypeORM 의 버전이 달라서, Repository.findOne() 메서드의 구성이 달라진 것 같다고 생각합니다.강의 대로 코드를 작성하면 후술할 에러가 발생하는데, 해당 부분을 해결하고 나서, 다른 수강생 분들 도 이런 문제를 겪을까 생각되어서 따로 글로 남기게 되었습니다. ## 문제 세 줄 요약 1. fineOne( id) 를 하면 에러가 발생 2. 관련 레퍼런스가 없어서 TypeORM docs 확인 3. fineOneBy({id}) 로 에러 해결 (2022-03-30) 자세한 내용은 ### 해결방법, ### 참고문서, ### 초기질문 참고해주세요.깃 : unchaptered/22-03-nestjs-board: Nest.JS (github.com) ### 해결방법 2022년 3월 30일 기준으로, this.boardsRepository.findOne( id ); 위와 같이 입력을 했는데 에러가 발생했다면, 해당 부분을 다음의 코드로 교체해서 해결할 수 있습니다. this.boardsRepository.fineOneBy({ id }); ### 참고문서 아래 페이지에서 Ctrl + F 로 fineOne 혹은 fineOneBy 를 검색해서 확인하시면 됩니다.TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. ### 초기 질문 boards.service.ts 의 getBoardById() 에서 this.boardsRepository.fineOne(id); 를 하면 id 에 붉은 경고가 다음과 같이 발생하고 있습니다. 혹시 해당 부분이 왜 문제가 되는지 알 수 있을까요? 정크 데이터까지만 푸쉬 해놓았지만, node_module 버전 문제일까 싶어서 깃 허브 링크도 최하단에 올려놓겠습니다. 위의 에러가 발생하는 해당 코드입니다. async getBoardById(id: number): Promise<Board> { const found = await this.boardsRepository.findOne(id); if (!found) throw new NotFoundException(`Can't find Board by ${id}`); return found; } 엔티티 import { BaseEntity, Column, PrimaryColumn, PrimaryGeneratedColumn } from "typeorm"; import { BoardStatus } from "./board-status.enum"; export class Board extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column() title: string; @Column() description: string; @Column() status: BoardStatus; } baords.repository.ts import { EntityRepository, Repository } from "typeorm"; import { Board } from "./entity/board.entity"; @EntityRepository(Board) export class BoardsRepository extends Repository<Board> { } 깃허브 : unchaptered/22-03-nestjs-board: Nest.JS (github.com)
-
미해결따라하며 배우는 NestJS
Dependency Injection에 관해
안녕하세요 선생님, 항상 좋은 강의 감사드립니다. DI 관련해서 궁금한 점이 생겨 질문드립니다. Controller에서 Service 클래스를 DI 받을 때는 별도의 데코레이션 없이 DI를 받았는데, service 계층에서 repository를 DI 받을 때는 왜 @InjectRepository가 필요할까요? 개인적으로 생각해보기로는, 우리가 직접 만든 Service 클래스는 Nest IOC container에서 관리되지만, Repository 클래스는 TypeORM 모듈에 의해 DI가 관리되기 때문일 수도 있겠다는 생각을 해봤습니다.
-
미해결따라하며 배우는 NestJS
안녕하세요 강의자료 질문드립니다!
안녕하세요! 항상 좋은 강의 올려주셔서 도움많이 받고 있는 1인입니다.다름이아니라 수업자료를 다운받으면 DS_STORE 파일로 밖에 안보이는데 윈도우에서는 어떻게 확인하는 방법이 있나요?
주간 인기글
순위 정보를
불러오고 있어요