inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 NestJS

ID를 이용해서 특정 게시물 가져오기

findOne(id) 에서 에러가 발생한 경우 해결법

3550

unchaptered

작성한 질문수 26

23

# 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)

fineOne postgresql fineOneBy typeorm TypeORM jwt NestJS

답변 6

3

soh308

findOneBy({id}) 같네요.. fineOne이 아니라..

1

김찬기

또는 .findOne({ where: {id}})

0

gsoosuu

감사합니다!!!!!!

0

BlkDrgg

와우 감사합니다. 

0

Yunmi Seo

정말 감사합니다!!! 

0

caffeineguitar

덕분에 쉽게 해결했습니다.  감사합니다!

0

unchaptered

쉽게 해결하셨다니 다행입니다..! :_)

로거 객체 질문

0

58

1

회원가입 기능 구현 버전 변경에 따른 코드수정(해당 사항은 업데이트 예정이 없나요?)

0

76

1

파일을 찾지 못하는 오류가 계속 뜹니다

0

102

1

services와 repository 파일에서 해야하는 작업

0

122

1

커스텀 파이프에서 value의 타입이 string 이 아닐때

0

169

1

nestjs 기본 구조 설명에서 궁금한게 있습니다.

0

177

0

typeorm ^10.0.2 버전 사용시 No metadata for "BoardRepository" was found. 오류 발생 해결방법.

3

275

1

Model과 Dto의 차이점을 좀 쉽게 알수 있을까요?

0

680

1

강의 자료 관련해서 글 남깁니다.

0

482

1

"ID로 특정 게시물 가져오기" 부분이 잘못되었습니다.

0

453

1

선생님 nestjs랑 Nextjs랑 같이 연동해서 작업하는거 어떻게 생각하시나요?

0

2510

1

쌤 근데 enum 말고 type 으로 타입선언해주면안될까요?

0

613

1

pgAdmin 4에서 데이터 베이스 만들어주기 부분

0

642

1

강의 자료 관련해서 질문있습니다.

0

463

2

port 5432 failed: recived invalid response to ssl negotiation

0

766

1

repository.ts 에서 method 를 가져 오고 싶은데, 해당 메소드가 없다고 뜨네요

0

400

1

컨트롤러에선 async/await 사용하지 않아도 되는 이유

1

692

1

마지막 강의 영상에서 배포 자료는 어디서 볼 수 있나요?

0

387

1

No repository for 질문

0

526

1

특정 게시물을 찾을 때 없는 경우 에러 메세지 생성 에러

0

476

1

XML파일도 링크 공유해주시면 감사하겠습니다.

0

348

1

회원가입 기능 구현 중 오류가 났습니다.

0

498

1

NotFoundException

0

711

1

도와주세요 ㅠㅠ!!

0

1082

2