대파양파애비
'save' 태그의 글 목록

Backend dev?

Web/TypeOrm

[TypeOrm] TypeORM으로 upsert(), save() 안될 시 해결방법

이전에 Nest.JS로 개발하다가 중복된 값이 있으면 Update 해주고 아닐경우 Insert를 해야되는 케이스가 있었는데 Upsert나 save를 사용하지 않고 로직으로 find해서 If-Else문으로 Update, Insert를 날려서 처리한적이 있었다. Upsert나 Save로 처리했으면 코드가 좀 더 간결해지고 DB커넥션도 줄여서 성능향상도 됬을텐데,,,하고 아쉬워하던 찰나에 비슷한 케이스로 개발을 할 일이 생겼다! 뉴스의 기사에 좋아요, 싫어요 리액션 기능을 추가하는 케이스이였다. 이번엔 무조건 로직으로 처리하지 않고 Upsert나 Save로 처리해야겠다고 생각했다. 그럼 우선 Upsert랑 Save에 주요 차이점 대해 알아보면 Upsert는 데이터베이스에서 레코드를 업데이트하거나 삽입하는 데 ..

Web/TypeOrm

[TypeOrm] 차이를 알고쓰자 save() , insert() , update()

오늘은 TypeOrm method인 save(), insert(), update() 에 대해서 알아보려고 한다. 얼핏보기에는 비슷해서 아무거나 써도 될 것 같은데 이게 별거 아닌 것 같아도 성능에도 영향을 끼친다. 우선 typeorm 공식 홈페이지에 나와있는 사진을 보면서 한개씩 알아보자. SAVE() save() 메서드는 값이 없으면 insert 기능을 하여 데이터를 저장하고 값이 존재하면 덮어쓴다. 그러고 저장된값을 select해서 리턴한다. 수정할때 save()는 기존의 데이터를 위에 덮어쓰는 방식이라서 기존데이터가 사라진다. 쉽게말해 document단위로 데이터를 변경한다. ex) 필드가 5개 존재하고 save로 2개의 필드를 수정하려면 5개의 필드는 전부 사라지고 2개의 필드만 저장된다. INS..