Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 runCommand()와 함께 collMod를 사용하는 방법

MongoDB에서 runCommand()와 함께 collMod 사용하기

collMod는 컬렉션에 새로운 옵션을 추가하거나 기존 뷰(view)의 정의를 수정할 수 있도록 지원하는 MongoDB 관리 명령입니다. 이 명령은 일반적으로 db.runCommand() 메서드와 함께 실행됩니다.

아래 예제를 통해 collMod의 실제 사용 방법을 단계별로 살펴보겠습니다.

1단계: 컬렉션 생성 및 문서 삽입

먼저 insertOne() 메서드를 사용하여 demo13 컬렉션에 문서를 차례대로 삽입합니다.

> db.demo13.insertOne({"StudentFirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f730ad7df943a7cec4fa6")
}
> db.demo13.insertOne({"StudentFirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f7310d7df943a7cec4fa7")
}
> db.demo13.insertOne({"StudentFirstName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f7313d7df943a7cec4fa8")
}

2단계: find()로 전체 문서 조회

find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 확인할 수 있습니다.

> db.demo13.find();

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

{ "_id" : ObjectId("5e0f730ad7df943a7cec4fa6"), "StudentFirstName" : "Chris" }
{ "_id" : ObjectId("5e0f7310d7df943a7cec4fa7"), "StudentFirstName" : "David" }
{ "_id" : ObjectId("5e0f7313d7df943a7cec4fa8"), "StudentFirstName" : "Bob" }

3단계: runCommand()와 함께 collMod 실행

이제 runCommand() 안에서 collMod를 사용하여 컬렉션 옵션을 변경해 보겠습니다. 아래 예제는 demo13 컬렉션의 usePowerOf2Sizes 옵션을 false로 설정합니다.

> db.runCommand( { collMod: "demo13", usePowerOf2Sizes: false })

명령이 성공적으로 실행되면 다음과 같은 출력 결과를 확인할 수 있습니다.

{ "usePowerOf2Sizes_old" : true, "usePowerOf2Sizes_new" : false, "ok" : 1 }

출력 결과를 자세히 보면 usePowerOf2Sizes_old에는 변경 전 값(true)이, usePowerOf2Sizes_new에는 변경 후 값(false)이 표시됩니다. 그리고 "ok" : 1은 해당 명령이 오류 없이 정상적으로 처리되었음을 의미합니다.

참고로 usePowerOf2Sizes는 MongoDB가 디스크 공간을 2의 거듭제곱 크기 단위로 할당하도록 하는 옵션입니다. 문서의 삽입과 삭제가 빈번하게 발생하는 워크로드에서는 이 옵션을 활성화하면 저장 공간의 재사용 효율을 높일 수 있습니다.