-
[Nest] TypeORM의 DELETE, REMOVE 차이공부/Nest 2024. 6. 2. 14:31
TypeORM을 이용하다 보면 Database에 연결해서 사용을 하는 경우에 delete, remove 2가지가 존재합니다.
2가지 모두 내가 아는 의미로는 제거한다는 의미로 말할 수 있지만, 실제 업무에서 어떤 것을 사용해야 하는지 정확하게 알지 못했습니다.
하지만, 이번 기회에 정리를 짧게나마 해보려고 합니다.
1. Remove
- Remove 메서드는 기존에 생각하는 조건을 전달해서 제거를 하는 방식이 아닌 Entity를 인수(argument)로 전달하여 제거하는 방식입니다.
- 예시 코드
//Post는 Entity입니다. this.db.getRepository(Post).remove(post) this.db.getRepository(Post).remove([ post1, post2 ])2. Delete
- Delete 메서드는 Raw SQL을 작성할 때 사용하는 조건들을 사용해서 제거할 수 있는 방식으로, 조건을 전달할 수 있습니다. 조건 없이는 PK 값인 id를 전달해서도 제거가 가능합니다.
//Post는 Entity입니다. this.db.getRepository(Post).delete(1) this.db.getRepository(Post).delete({title: "개발은 어려워!"})
삭제하는 방법은 delete, remove 말고도 save로도 가능합니다. 개발하는 과정에서 어떤게 더 낫다고 말씀드릴 수는 없지만 저는 삭제의 경우 조건을 인수(arguments)로 전달하여 제거하고 있습니다.
검색하며 찾아보고 작성한 글입니다. 혹시라도 부정확한 정보를 전달드릴 수 있습니다. 틀린 부분이 있으면 댓글을 남겨주세요.
Ref.https://velog.io/@phw3071/TypeOrm-remove-%EC%99%80-delete-%EC%9D%98-%EC%B0%A8%EC%9D%B4TypeOrm remove() 와 delete() 의 차이
remove: 엔티티를 지운다, delete: 조건으로 지운다
velog.io
https://stackoverflow.com/questions/54246615/what-s-the-difference-between-remove-and-delete
What’s the difference between remove and delete?
For example, I have a TypeORM entity Profile: @Entity() class Profile { @PrimaryGeneratedColumn() id: number; @Column() gender: string; @Column() photo: string; @On...
stackoverflow.com
'공부 > Nest' 카테고리의 다른 글
ReferenceError: crypto is not defined (0) 2025.05.24 [Nest] CPU 상승 개선을 위한 Docker로 Redis 적용 (0) 2024.10.06 [NestJS] 랜덤 문자열을 생성하여 양방향 암호화 진행하기 (0) 2024.04.23 [NestJS] 기본 구조 (0) 2023.09.09 Nest 설치 및 Nest 명령어로 실행이 안되는 경우 (0) 2023.07.15