성장에 목마른 코린이

MongoDB CRUD - DELETE 본문

CodeStates/Section 3 (백엔드)

MongoDB CRUD - DELETE

성장하는 코린이 2022. 4. 17. 04:53
728x90

DELETE

도큐먼트와 컬렉션을 삭제하는 방법

deleteOne( )은 검색 쿼리문의 조건에 맞는 다수의 도큐먼트가 있다면, 의도하지 않은 도큐먼트가 삭제될 수 있습니다. 그렇기 때문에 deleteOne( )을 사용하는 경우 _id 값으로 쿼리해 온 도큐먼트를 삭제하는 것이 좋은 접근법입니다.

기준을 충족하는 도큐먼트가 많을 경우에는 deleteMany를 사용하여 다수의 도큐먼트를 삭제할 수도 있습니다.

deleteMany()

이전에 inspections 컬렉션에 임의로 삽입했던 테스트 도큐먼트를 삭제해 보겠습니다.

컬렉션 안에는 임의적으로 삽입했던 5개의 도큐먼트가 존재합니다.

기준에 맞는 도큐먼트가 많다는 것을 이미 알고 있기 때문에 deleteMany( )를 사용하도록 하겠습니다.

주황색 블록의 삭제한 도큐먼트의 수를 나타내는 deletedCount 항목의 숫자와

하늘색 블록의 find 명령어로 찾은 도큐먼트의 수를 비교해 보니,

{“test” : “1”}, {“test” : “3”} 이라는 기준에 맞는 도큐먼트를 한 번에 삭제한 것을 확인할 수 있습니다.

deleteOne()

deleteOne( )을 하기 위해서, 먼저 고유한 _id 값을 갖는 도큐먼트를 inspections 컬렉션에 삽입하겠습니다. {“_id”:”fordeleting”} 을 가지는 도큐먼트가 제대로 삽입된 것을 확인했습니다.

이 도큐먼트를 삭제하니, 삭제된 도큐먼트의 수를 의미하는 deletedCount에 1이 나타나는 것을 볼 수 있습니다.

db.collection_name.drop()

컬렉션을 삭제하기 위해서는 drop이라는 명령어를 사용해야 합니다.

첫 번째 주황색 블록 부분에서, inspection과 inpections는 잘못 만들어졌기 때문에 두 컬렉션을 삭제해 보겠습니다.

먼저 inspection 을 삭제하기 위해서 첫 번째 연두색 블록처럼 db.inspection.drop( ) 명령어를 작성합니다.

그러자 결과로 true라고 출력되고, 실제로 컬렉션 리스트를 보니, inspection이 사라진 것을 볼 수 있습니다.

마찬가지로 inpections도 drop 명령어를 사용하여 삭제하니,

true라는 응답과 함께 해당 컬렉션이 삭제된 모습을 볼 수 있습니다.

'CodeStates > Section 3 (백엔드)' 카테고리의 다른 글

HTTPS  (0) 2022.04.18
MongoDB Advanced CRUD - 연산자  (0) 2022.04.17
MongoDB CRUD - UPDATE  (0) 2022.04.17
MongoDB CRUD - READ  (0) 2022.04.17
MongoDB CRUD - Create  (0) 2022.04.17
Comments