작성
·
146
0
코드를 보다가
remove() => deleteOne, deleteMany로 나눈 이유를 왠지 알것 같아서, 혹시 제 생각이 틀리지는 않았는지 검증 부탁드립니다.
예를들어, 댓글 테이블에 삭제 버튼을 누르면 remove()되잖아요?
근데 remove는 기본적으로 다중 삭제 처리라서, 나는 해당 댓글 하나만 삭제하려고 하나의 버튼을 눌렀는데 여러개가 지워질수있다는 위험성을 안고 있죠.
물론 Object.id 쿼리해서 지우는거니, 당연히 중복(다중 처리)이 발생할리는 없겠죠. 그렇지만 만일 유니크하지않은 다른 필드로 검색했을때 다중으로 지워질수 있는 실수를 미연에 방지하고,
보다 개발자로 하여금 직관적으로 메서드를 행함을(하나만 처리해라, 여러개 처리해라) 표현하기 위해 api를 추가로 만들었다! 로 이해해도 되는지요?
findandModify의 sort라는 옵션도 이와 같은 원리죠?