MongoDB 데이터베이스에서 컬렉션 삭제 또는 삭제

Tahseen Tauseef 2024년2월15일
  1. MongoDB 컬렉션 삭제
  2. drop() 메서드 사용
  3. remove() 메서드 사용
  4. MongoDB에서 컬렉션 삭제
  5. drop() 메서드를 사용하여 컬렉션 삭제
  6. remove() 메서드를 사용하여 컬렉션에서 모든 문서 삭제
  7. 명령줄을 사용하여 MongoDB에서 데이터베이스 삭제
MongoDB 데이터베이스에서 컬렉션 삭제 또는 삭제

이 기사에서는 MongoDB에서 컬렉션을 삭제하는 문제에 대해 자세히 설명하고 컬렉션을 삭제하기 위해 MongoDB에서 사용하는 다양한 방법을 쿼리와 함께 설명합니다.

MongoDB 컬렉션 삭제

MongoDB는 두 가지 방법으로 컬렉션을 삭제합니다. MongoDB 데이터베이스 서버에서 drop 명령을 수행한 후 출력은 true 또는 false입니다. 콜렉션이 데이터베이스에 있고 성공적으로 제거되는 경우 결과는 true입니다.

컬렉션이 데이터베이스에 없고 적절하게 삭제할 수 없는 경우 결과는 false입니다.

dropremove 메서드를 사용하여 MongoDB에서 컬렉션을 삭제합니다. 컬렉션을 제거할 때 컬렉션 이름도 지정해야 합니다.

drop() 메서드 사용

MongoDB 데이터베이스에서 컬렉션을 삭제하려면 db.collection.drop() 함수를 사용하십시오. 데이터베이스에서 컬렉션을 제거하고 연결된 인덱스를 삭제합니다.

  1. db.collection.drop() 함수 및 drop 명령은 폐기된 컬렉션에서 열려 있는 모든 변경 스트림에 대해 invalidate 이벤트를 생성합니다.

  2. db.collection.drop() 메서드 및 drop 명령은 대상 컬렉션을 삭제하기 전에 대상 컬렉션에서 진행 중인 인덱스 빌드를 중지합니다. MongoDB 4.4 이전에 진행 중인 인덱스 빌드가 있는 컬렉션을 덤프하려고 하면 오류가 발생하지만 컬렉션은 삭제되지 않습니다.

    기본 인덱스 빌드를 중단해도 복제본 세트 또는 샤드 복제본 세트에 대한 보조 인덱스 빌드는 취소되지 않습니다. 대신 MongoDB는 기본에서 지정된 인덱스에 대해 진행 중인 빌드를 중지하려고 시도하고 성공할 경우 중단 oplog 항목을 생성합니다.

    복제된 진행 중인 빌드가 있는 보조 구성원은 인덱스 빌드를 커밋하거나 중단하기 전에 메인이 oplog 항목을 커밋하거나 중단할 때까지 기다립니다.

  3. MongoDB 4.0.2부터 컬렉션을 제거하면 연결된 영역/태그 범위가 삭제됩니다.

  4. MongoDB 5.0부터 drop 명령과 db.collection.drop() 메서드는 관리 데이터베이스 또는 mongos의 구성 데이터베이스에서 컬렉션을 삭제하려고 하면 오류를 반환합니다. 대신 구성 서버에 연결하고 명령을 실행하여 이러한 컬렉션을 삭제하십시오.

통사론:

db.collection_database.drop()

컬렉션 데이터베이스는 데이터베이스 서버에서 컬렉션을 제거하는 데 사용되는 위 구문의 컬렉션 이름으로 지정됩니다.

remove() 메서드 사용

컬렉션에서 문서를 삭제하려면 db.collection.remove() 기능을 사용하십시오.

통사론:

db.collection_database.remove ({})

컬렉션 데이터베이스는 이전 구문에서 문서를 제거해야 하는 위치로 정의됩니다. 따라서 remove 메서드에 빈 결과 집합 ()을 제공하면 모든 수집 레코드가 지워집니다.

db.collection_name.remove (<query>, {Writeconcern, justone})

query 매개변수는 쿼리 매개변수에 따라 컬렉션에서 개별 항목을 제거하는 기능으로 정의됩니다.

정의된 매개변수는 하나뿐이며 컬렉션에서 하나의 문서를 삭제합니다. 키워드를 true로 설정하여 활성화해야 합니다.

선택 기준에서 true 키워드를 사용한 후 하나의 레코드만 제거됩니다. 선택 기준에서 true 키워드를 사용하지 않은 경우 컬렉션의 모든 기사를 삭제합니다.

Writeconcern을 사용하는 경우 writeconcern의 기본 사용이 무시됩니다.

remove() 메소드의 매개변수:

  1. 쿼리 - 쿼리 연산자는 삭제 기준을 제공하는 데 사용됩니다. 예를 들어 빈 문서()를 전달하면 컬렉션의 모든 문서가 삭제됩니다.
  2. justOne - true로 설정하면 삭제가 하나의 문서로만 제한됩니다. false 기본값을 사용하지 않고 삭제 기준과 일치하는 모든 문서를 제거합니다.
  3. writeConcern - 서면 걱정을 표현하는 문서입니다. 기본 writeconcern을 그대로 둡니다.

MongoDB에서 컬렉션 삭제

전체 컬렉션과 해당 인덱스를 제거하려면 drop 메서드를 사용하여 해당 인덱스를 포함하여 데이터베이스에서 모든 컬렉션을 삭제할 수 있습니다. drop 접근 방식은 데이터베이스 서버에서 컬렉션과 해당 인덱스를 삭제합니다.

제거 접근 방식을 사용하여 컬렉션에서 특정 문서를 제거할 수 있습니다. remove 메소드는 콜렉션의 모든 문서를 삭제하지만 인덱스는 데이터베이스 서버에 남아 있으며 삭제되지 않습니다.

데이터베이스 서버에서 컬렉션을 제거하면 두 개의 결과 집합이 표시됩니다.

  1. 사실
  2. 거짓

다음 쿼리는 컬렉션이 데이터베이스 서버에서 삭제될 때 결과 집합에 true 값이 표시됨을 보여줍니다. 예를 들어 아래 쿼리 결과는 true입니다.

결과 세트는 데이터베이스 서버가 콜렉션을 삭제했기 때문에 true로 표시됩니다.

show collections
db.test1.drop()
show collections

위의 쿼리 결과는 거짓입니다. 콜렉션이 데이터베이스 서버에서 제거되지 않았거나 데이터베이스에 존재하지 않으므로 결과 세트의 출력은 false입니다.

컬렉션을 제거하기 전에 먼저 해당 데이터베이스에 연결해야 합니다. 지정된 데이터베이스에 연결하지 않았거나 방문하지 않은 경우 컬렉션이 지워지지 않습니다.

아래 쿼리는 데이터베이스에서 컬렉션을 제거하기 전에 지정된 데이터베이스를 활용하는 방법을 보여줍니다.

db.col_stat.drop()
use test
db.col_stat.drop()
show collections

이제 removedrop 메소드의 예제 쿼리가 아래에서 설명됩니다.

drop() 메서드를 사용하여 컬렉션 삭제

먼저 show dbs 명령을 사용하여 액세스 가능한 데이터베이스 목록을 확인합니다.

드롭 1

새 데이터베이스 mydb>를 삭제하려면 dropDatabase() 명령을 사용하십시오.

드롭 2

데이터베이스의 체크리스트.

드롭 3

remove() 메서드를 사용하여 컬렉션에서 모든 문서 삭제

mycol 데이터 세트에서 다음 데이터를 고려하십시오.

{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}

다음 예제는 MongoDB 개요가 있는 모든 레코드를 삭제합니다.

제거 1

하나만 제거

레코드가 많고 첫 번째 레코드를 삭제하려면 remove() 함수에서 justOne 옵션을 사용하십시오.

>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

모든 문서 제거

MongoDB는 지정된 삭제 기준이 없는 경우 컬렉션에서 전체 문서를 제거합니다. 이것은 SQL truncate 명령의 대응 항목입니다.

제거 2

모든 데이터가 데이터베이스에서 제거되므로 db.mycol.find() 이후에 아무 것도 표시되지 않습니다.

명령줄을 사용하여 MongoDB에서 데이터베이스 삭제

Mongo 데이터베이스를 삭제하는 가장 간단한 방법은 관련 플래그 및 매개변수와 함께 명령줄에서 mongo 셸 명령을 실행하여 mongo 셸에 데이터베이스 삭제를 알리는 것입니다.

가장 기본적인 mongo 쉘 명령은 특정 데이터베이스에 즉시 연결하는 데 사용할 수 있습니다. 이 예에서는 서버의 bash 프롬프트에서 bookstore 데이터베이스에 연결하는 데 사용됩니다.

$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore

bookstore 데이터베이스에 연결하고 mongo 셸에서 명령을 수행하는 대신 eval 플래그와 MongoDB에서 실행하려는 JavaScript 코드를 제공할 수 있습니다. 우리의 데이터베이스는 한 줄에 쉽게 사용할 수 있습니다.

이 시나리오에서는 데이터베이스를 삭제하려고 합니다. 따라서 db.dropDatabase() 함수를 사용하여 연결된 데이터베이스를 삭제합니다. 필수는 아니지만 printjson 기능으로 이 메서드를 래핑하여 이 명령의 출력이 의미 있고 이해할 수 있도록 보장합니다.

명령어

heredocseval이 필요하지 않습니다. mongo가 통역사 역할을 할 수 있습니다.

var db = new Mongo().getDB('someDatabase');
db.dropDatabase();

이 기사에서는 drop 방법을 사용하는 방법을 설명했습니다. 컬렉션과 해당 인덱스를 삭제하고 remove 메서드를 사용할 수 있습니다. 컬렉션에서 단일 또는 모든 문서를 삭제할 수 있습니다.

컬렉션이 데이터베이스에 있는 경우 결과 집합은 결과를 true로 표시하고 false 출력을 표시합니다. 또한 명령줄을 사용하여 MongoDB에서 컬렉션을 삭제하거나 삭제하는 방법도 설명합니다.