JavaScript/js 문법
nestJs CURD 레포지토리
GREEN나무
2025. 2. 18. 10:12
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 });
}