mongodb update delete document with examples
MongoDB의 Update () 및 Delete () 문서에 대한 모든 것 및 예제 :
이것의 이전 튜토리얼에서 MongoDB 교육 시리즈 , 우리는 MongoDB에서 배열 사용 .
이 자습서에서는 MongoDB 컬렉션 내의 문서 업데이트 및 삭제에 대해 자세히 알아 봅니다.
네 가지가 있습니다 MongoDB 업데이트 레코드를 업데이트하는 방법. 각 방법에는 MongoDB 내에서 사용해야하는 특정 이유가 있습니다.
업데이트 방법은 다음과 같습니다.
- 최신 정보()
- UpdateOne ()
- UpdateMany ()
- FindOneAndUpdate ()
학습 내용 :
업데이트 방법
업데이트 메서드는 컬렉션 내의 기존 문서를 수정하는 데 사용됩니다.
업데이트 기준에 따라 전체 문서의 특정 필드를 수정할 수 있습니다. 기본적으로 업데이트 방법은 단일 레코드 만 수정하는 데 사용됩니다. 여러 문서를 업데이트하려면 다음을 설정할 수 있습니다. '다중 : 참' 업데이트 메소드의 옵션 매개 변수 내에서.
통사론:
기술 지원 분석가 인터뷰 질문 및 답변
db.collection_name.update(query, update, options)
질문 – 업데이트 방법의 선택 기준입니다. 컬렉션 내에서 지정된 이름을 가진 학생의 나이를 업데이트하려는 경우 이름이 선택 기준입니다.
최신 정보 –이 매개 변수는 기존 레코드 내에서 업데이트 할 항목을 선언하는 데 사용됩니다. 문서 내에 이름, 연령 및 클래스라는 세 개의 필드가 있다고 가정합니다.
그 후에 이름으로 학생의 수업을 업데이트해야합니다. 업데이트하려는 필드와 함께 $ set를 전달할 업데이트 매개 변수에 표시합니다. 배열의 경우 mongo push를 사용하여 업데이트해야합니다.
옵션 – 업데이트 방법으로 사용할 수있는 여러 옵션이 있습니다. 그러나 우리는 이해하는 데 중요한 두 가지 모두에 집중할 것입니다.
첫 번째 옵션은 'upset'입니다. 값이 true이면 존재하지 않는 문서를 업데이트하려고 할 때마다 새 레코드를 만듭니다. 값이 false이면 존재하지 않는 문서를 업데이트하려고 할 때마다 새 레코드를 삽입하지 않습니다.
두 번째 옵션은 '다중'으로, 기본값이 false 인 경우 컬렉션 내의 여러 문서에 기준을 적용하는 데 사용됩니다. 값이 true이면이 경우에만 쿼리 기준을 채우는 모든 문서에 변경 사항을 구현합니다.
단순 문서 업데이트
컬렉션 내에 다음과 같은 문서 구조가 있다고 가정 해 보겠습니다.
암호
db.softwaretestinghelp.find().pretty()
그림 1 : MongoDB 셸에서
그림 2 : Robo 3T에서
이제 위 문서에서 학생의 이름을 업데이트하려고합니다. 이를 위해 아래 이미지에서 볼 수 있듯이 쿼리를 작성해야합니다.
암호
db.softwaretestinghelp.update({student_name:”New Name”},{$set: {student_name:”Current Name”}})
그림 3 : MongoDB 셸에서
그림 4 : Robo 3T에서
MongoDB 셸에서 이러한 쿼리를 실행하면 아래 이미지에서 볼 수 있듯이 셸에 다음 메시지가 반환되었습니다.
그림 5 : 출력 MongoDB 셸에서
Shell의 반환 된 메시지는 더 이상 통신하지 않지만 동일한 명령을 실행할 때 Robo 3T 업데이트 쿼리 실행에서 업데이트되는 행 수에 대한 메시지가 표시됩니다.
그림 6 : 출력 Robo 3T에서
네 가지가 있습니다 MongoDB 삭제 컬렉션 내에서 문서를 삭제할 수있는 방법입니다.
네 가지 방법은 다음과 같습니다.
- deleteOne ()
- deleteMany ()
- findOneAndDelete ()
- 없애다()
위의 각 방법은 MongoDB 컬렉션에서 문서를 삭제하거나 제거하는 데 사용됩니다. 그러나이 자습서에서는 “deleteOne” 방법.
deleteOne 메서드
deleteOne 메서드는 MongoDB 컬렉션 내의 특정 문서를 삭제하는 데 사용됩니다. 여기에는 컬렉션에서 삭제할 항목을 이해할 수있는 두 개의 매개 변수가 있습니다.
통사론:
db.collection_name.deleteOne(query)
질문 – 이것은 삭제 방법의 선택 기준이거나이를 필터로 말할 수도 있습니다. 컬렉션 내에서 이름을 지정한 학생의 나이를 삭제하려는 경우 이름이 선택 기준 또는 필터입니다.
직원 ID와 직원 이름이있는 직원 컬렉션이 있고 특정 직원 ID가있는 레코드를 삭제한다고 가정합니다. 그런 다음이 시나리오에서는 아래에서 볼 수있는 삭제 쿼리를 만들어야합니다.
그림 7
이제이 쿼리를 실행하면 쿼리 또는 필터와 일치하는 모든 레코드가 삭제됩니다.
암호
db.staff.deleteOne({student_staff_id:2})
그림 8 : 출력 MongoDB 셸에서
그림 9 : 출력 Robo 3T에서
결론
그만큼 최신 정보 메서드는 MongoDB 컬렉션 내 전체 문서의 특정 필드를 수정하는 데 사용됩니다. 그만큼 deleteOne 메서드는 MongoDB 컬렉션 내의 특정 문서를 삭제하는 데 사용됩니다.
여기서는 특정 기준에 따라 단일 또는 여러 문서를 업데이트하는 방법을 배웠습니다.
필터를 기반으로 컬렉션 내에서 특정 문서를 삭제하는 방법도 살펴 보았습니다. 다른 세 가지 업데이트 및 삭제 방법에 대해서는 고급 MongoDB 튜토리얼 시리즈 .
다음 자습서에서는 MongoDB 컬렉션의 모든 문서 내에서 개체 ID에 대해 자세히 알아 봅니다.