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 |