본문 바로가기
내일배움 정리/JS 문법 공부

nestJs CURD 레포지토리

by GREEN나무 2025. 2. 18.
728x90

아래 코드는 TypeORM의 QueryBuilder를 사용해 특정 조건(achievement 컬럼의 값이 전달받은 id와 일치하는 레코드)을 만족하는 항목들을 삭제하는 함수입니다.

async delete_achievement_c(id: number) {
  // 1. delete_achievement_c 함수는 숫자 타입의 id를 인자로 받아 비동기 방식으로 실행됩니다.
  
  await this.entityC
    // 2. this.entityC는 삭제 작업을 수행할 대상 엔티티(또는 테이블)에 해당하며, 여기서부터 QueryBuilder를 사용하여 쿼리를 구성합니다.
    
    .createQueryBuilder()
    // 3. createQueryBuilder()를 호출하여 QueryBuilder 인스턴스를 생성합니다. 이를 통해 SQL 쿼리를 동적으로 구성할 수 있습니다.
    
    .delete()
    // 4. delete() 메서드를 호출해 현재 빌드 중인 쿼리가 삭제 작업임을 명시합니다.
    
    .where('achievement = :id', { id })
    // 5. where() 메서드를 사용하여 삭제 조건을 설정합니다. 'achievement = :id'는 achievement 컬럼이 전달된 id와 같아야 함을 의미하며,
    //    { id } 객체를 통해 :id에 실제 값이 바인딩됩니다.
    
    .execute();
    // 6. execute() 메서드를 호출하여 완성된 삭제 쿼리를 데이터베이스에 실행합니다.
}

 

이거랑 같음

// 완료로 등록된 업적 삭제
async delete_achievement_c(id: number) {
  // 'achievement'는 삭제 조건에 해당하는 컬럼명입니다.
  return await this.entityC.delete({ achievement_id: id });
}

'내일배움 정리 > JS 문법 공부' 카테고리의 다른 글

Nestjs에서 Valkey 쓰기 - *.service.ts  (0) 2025.02.22
NestJs 실행 명령어  (0) 2025.02.20
NestJs - HTTP 예외 처리 클래스  (0) 2025.02.14
NestJs 컨트롤러 - req 데이터 사용  (0) 2025.02.13
NestJs란  (0) 2025.02.13