inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tìm hiểu NestJS bằng cách làm theo

Truy xuất các bài đăng cụ thể bằng ID

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

3550

unchaptered

26 câu hỏi đã được viết

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

Câu trả lời 6

3

soh308

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

1

blackstarzck1824

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

0

gsoosuu

감사합니다!!!!!!

0

BlkDrgg

와우 감사합니다. 

0

Yunmi Seo

정말 감사합니다!!! 

0

caffeineguitar

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

0

unchaptered

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

로거 객체 질문

0

59

1

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

0

78

1

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

0

102

1

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

0

122

1

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

0

169

1

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

0

178

0

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

3

275

1

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

0

681

1

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

0

482

1

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

0

453

1

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

0

2511

1

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

0

613

1

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

0

645

1

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

0

463

2

port 5432 failed: recived invalid response to ssl negotiation

0

767

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