문서 홈 → 보기 & 데이터 분석 → MongoDB Shell
방법
이 페이지의 내용
다음 문서에는 MongoDB Shell에서 사용할 수 있는 메서드가 나열되어 있습니다. 메서드를 클릭하면 MongoDB 매뉴얼 에서 구문과 예제를 포함한 해당 메서드의 설명서를 볼 수 있습니다.
중요
서버에 대한 셸의 연결을 재설정하는 메서드는 열려 있는 모든 서버 세션 의 종료를 트리거합니다. 세션이 종료되면 진행 중인 모든 작업도 종료되며, 인증이 활성화된 경우 클라이언트가 다시 인증해야 합니다.
다음 방법은 셸의 연결을 재설정합니다.
db.auth
Mongo.setReadPref
Mongo.setReadConcern
관리 메서드
메서드 | 설명 |
---|---|
admin 데이터베이스에 대해 명령을 실행합니다. | |
현재 진행 중인 작업을 보고합니다. | |
지정된 작업을 종료합니다. | |
쓰기 작업을 방지하고 백업 작업을 지원하기 위해 디스크에 쓰기를 플러시하고 데이터베이스를 잠급니다. | |
Atlas Search 인덱스 메서드
Atlas Search 인덱스 를 사용하면 Atlas Search 에서 데이터를 쿼리할 수 있습니다. Atlas Search 인덱스를 사용하면 검색어를 해당 용어가 포함된 문서에 매핑하여 성능이 뛰어난 텍스트 검색 쿼리를 사용할 수 있습니다.
다음 방법을 사용하여 Atlas Search 인덱스를 관리하세요.
중요
이름 | 설명 |
---|---|
지정된 컬렉션에 하나 이상의 Atlas Search 인덱스를 만듭니다. | |
기존 Atlas Search 인덱스를 삭제합니다. | |
지정된 컬렉션의 기존 Atlas Search 인덱스에 대한 정보를 반환합니다. | |
기존의 Atlas Search 인덱스를 업데이트합니다. |
대량 작업 메서드
메서드 | 설명 |
---|---|
컬렉션에 대한 새 Bulk() 작업 빌더를 초기화하고 반환합니다. 빌더는 MongoDB가 대량으로 실행하는 쓰기 작업을 순서가 지정된 목록으로 구성합니다. | |
컬렉션에 대한 새 Bulk() 작업 빌더를 초기화하고 반환합니다. 빌더는 MongoDB가 대량으로 실행하는 쓰기 작업을 순서가 지정되지 않은 목록으로 구성합니다. | |
단일 컬렉션에 대해 대량으로 수행할 쓰기 작업 목록을 구성하는 데 사용되는 대량 작업 빌더를 만듭니다. 빌더를 인스턴스화하려면 db.collection.initializeOrderedBulkOp() 또는 db.collection.initializeUnorderedBulkOp() 메서드를 사용합니다. | |
Bulk() 작업 빌더에서 빌드한 작업 목록을 실행합니다. | |
업데이트 또는 제거 작업에 대한 쿼리 조건을 지정합니다. | |
대량 작업을 지원하는 인덱스를 지정하는 힌트 옵션을 설정합니다. | |
대량 작업 목록에 제거 작업을 추가합니다. | |
단일 문서 제거 작업을 대량 작업 목록에 추가합니다. | |
단일 문서 교체 작업을 대량 작업 목록에 추가합니다. | |
단일 문서 업데이트 작업을 대량 작업 목록에 추가합니다. | |
대량 작업 목록에 다중 업데이트 작업을 추가합니다. 이 메서드는 기존 문서의 특정 필드를 업데이트합니다. | |
업데이트 또는 교체 작업을 위해 업서트 옵션을 true 로 설정합니다. | |
대량 작업 목록에 삽입 작업을 추가합니다. | |
Bulk() 객체의 작업 및 배치 수가 포함된 JSON 문서를 반환합니다. | |
Bulk() 객체의 작업 및 배치 수가 포함된 JSON 문서를 문자열로 반환합니다. |
컬렉션 메서드
메서드 | 설명 |
---|---|
대량 쓰기 작업 기능을 제공합니다. | |
mongosh 1 에서 더 이상 사용되지 않습니다.0.6. 대신 db.collection.countDocuments() 또는 db.collection.estimatedDocumentCount() 을(를) 사용하세요. | |
Collection 또는 보기에 있는 문서의 대략적인 개수를 반환합니다. | |
컬렉션에 인덱스를 작성합니다. | |
컬렉션에 대해 하나 이상의 인덱스를 작성합니다. | |
컬렉션의 크기를 반환합니다. size 필드를 collStats 의 출력으로 래핑합니다. | |
컬렉션에서 단일 문서를 삭제합니다. | |
컬렉션에 있는 여러 문서를 삭제합니다. | |
지정된 필드에 고유한 값을 가진 문서의 배열을 반환합니다. | |
데이터베이스에서 지정된 컬렉션을 제거합니다. | |
컬렉션에서 지정된 인덱스를 제거합니다. | |
컬렉션의 모든 인덱스를 제거합니다. | |
더 이상 사용되지 않습니다. | |
다양한 메서드의 쿼리 실행에 대한 정보를 반환합니다. | |
컬렉션이나 뷰에 대해 쿼리를 수행하고 커서 객체를 반환합니다. | |
하나의 문서를 원자 단위로 수정하고 반환합니다. | |
쿼리를 수행하여 단일 문서를 반환합니다. | |
하나의 문서를 찾아서 삭제합니다. | |
하나의 문서를 찾아서 대체합니다. | |
단일 문서를 찾아서 업데이트합니다. | |
컬렉션의 기존 인덱스를 설명하는 문서 배열을 반환합니다. | |
분할된 컬렉션에 대한 데이터 배포 통계를 인쇄합니다. | |
데이터베이스 명령 getShardVersion에 대한 래퍼를 제공합니다. | |
컬렉션에 새 문서를 삽입합니다. | |
컬렉션에 여러 개의 새 문서를 삽입합니다. | |
컬렉션이 고정 사이즈 컬렉션인지 보고합니다. | |
컬렉션에서 맵 리듀스 애그리게이션 작업을 실행합니다. | |
컬렉션의 모든 기존 인덱스를 다시 작성합니다. | |
컬렉션의 이름을 변경합니다. | |
컬렉션의 단일 문서를 교체합니다. | |
컬렉션의 상태에 대해 보고합니다. collStats 주위에 래퍼를 제공합니다. | |
컬렉션에서 사용한 총 크기를 바이트 단위로 보고합니다. 출력의 필드 주위에 래퍼를 storageSize collStats 제공합니다. | |
컬렉션의 인덱스가 사용한 총 크기를 보고합니다. 출력의 필드 주위에 래퍼를 totalIndexSize collStats 제공합니다. | |
컬렉션의 모든 문서와 모든 인덱스의 크기를 포함하여 컬렉션의 전체 크기를 보고합니다. | |
컬렉션의 단일 문서를 수정합니다. | |
컬렉션의 여러 문서를 수정합니다. | |
컬렉션의 유효성을 검사합니다. | |
컬렉션에서 변경 스트림 커서 를 엽니다. |
연결 메서드
메서드 | 설명 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
JavaScript 생성자를 사용하여
| ||||||||||
데이터베이스 객체를 반환합니다. | ||||||||||
MongoDB 연결에 대한 읽기 설정 을 설정합니다. | ||||||||||
복제본 세트 또는 샤드 클러스터에 대한 변경 스트림 커서 를 열어 admin , local 및 config 데이터베이스를 제외한 해당 데이터베이스의 모든 비시스템 컬렉션에 대해 보고합니다. |
커서 메서드
메서드 | 설명 | |
---|---|---|
쿼리의 동작을 수정하는 특수 유선 프로토콜 플래그를 추가합니다. | ||
쿼리된 샤드를 하나 이상 사용할 수 없는 경우 샤딩된 컬렉션에 대한 | ||
MongoDB가 단일 네트워크 메시지로 클라이언트에 반환할 문서 수를 제어합니다. 다음 예제 쿼리는 결과를 100개의 배치로 반환합니다.
| ||
커서를 닫고 관련 서버 리소스를 확보합니다. | ||
쿼리에 주석을 첨부하여 로그 및 system.profile 컬렉션에서 추적할 수 있도록 합니다. | ||
문서 자체가 아닌 결과 세트에 있는 문서 수를 반환하도록 커서를 수정합니다. | ||
커서에 대한 쿼리 실행 계획에 대한 보고서입니다. | ||
커서의 모든 문서에 자바스크립트 함수를 적용합니다. | ||
커서에 문서가 있고 반복할 수 있는 경우 true 를 반환합니다. | ||
MongoDB가 쿼리에 특정 인덱스를 사용하도록 강제합니다. | ||
커서가 닫히면 true 를 반환합니다. | ||
커서가 닫혀 있고 배치에 남아 있는 객체가 없으면 true 반환합니다. | ||
결과 세트를 가져오고 반복하여 커서 클라이언트 사이드에 있는 총 문서 수를 계산합니다. | ||
커서 결과 집합의 크기를 제한합니다. | ||
커서의 각 문서에 함수를 적용하고 반환 값을 배열로 수집합니다. | ||
커서에 대한 배타적 상위 인덱스 바운드를 지정합니다. 다음과 함께 사용합니다. cursor.hint() | ||
커서에서 작업을 처리하는 데 걸리는 누적 시간 제한을 밀리초 단위로 지정합니다. | ||
커서에 대한 포괄적인 인덱스 바운드를 지정합니다. 다음과 함께 사용합니다. cursor.hint() | ||
커서에서 다음 문서를 반환합니다. | ||
일정 시간 동안 활동이 없어도 커서가 자동으로 닫히지 않도록 서버에 지시합니다. | ||
현재 커서 배치에 남아 있는 문서 수를 반환합니다. | ||
작업에 대한 db.collection.find() 읽기 고려 를 지정합니다. | ||
클라이언트가 쿼리를 복제본 세트 로 보내는 방법을 제어하기 위해 커서에 대한 읽기 설정 을 지정합니다. | ||
문서가 아닌 인덱스 키를 반환하도록 커서를 수정합니다. | ||
커서가 반환한 각 문서에 내부 스토리지 엔진 ID 필드를 추가합니다. | ||
여러 문서를 통과하거나 건너뛴 후에야 결과를 반환하기 시작하는 커서를 반환합니다. | ||
정렬 지정에 따라 정렬된 결과를 반환합니다. | ||
커서를 사용 가능(tailable)으로 표시합니다. 고정 사이즈 컬렉션의 커서에만 유효합니다. | ||
커서에서 반환된 모든 문서를 포함하는 배열을 반환합니다. |
데이터베이스 메서드
메서드 | 설명 |
---|---|
기본 컬렉션이 필요하지 않은 관리/진단 파이프라인을 실행합니다. | |
새 컬렉션이나 보기를 만듭니다. | |
지정된 애그리게이션 파이프라인을 소스 컬렉션 또는 뷰에 적용한 결과로 뷰를 만듭니다. | |
지정된 데이터베이스 명령에 대한 도움말 텍스트를 표시합니다. | |
현재 데이터베이스를 제거합니다. | |
컬렉션 또는 뷰 객체를 반환합니다. mongo 셸에서 유효하지 않은 이름을 가진 컬렉션에 액세스하는 데 사용됩니다. | |
현재 데이터베이스의 모든 컬렉션 및 보기에 대한 컬렉션 정보를 반환합니다. | |
현재 데이터베이스의 모든 컬렉션 및 보기를 나열합니다. | |
현재 데이터베이스 연결을 반환합니다. | |
현재 로그 상세도 설정을 반환합니다. | |
현재 데이터베이스의 이름을 반환합니다. | |
현재 프로필 수준, slowOpThresholdMs 설정 및 slowOpSampleRate 설정을 반환합니다. | |
지정된 데이터베이스에 대한 액세스를 제공합니다. | |
모든 데이터베이스 명령 목록을 제공합니다. | |
인증된 세션을 종료합니다. | |
샤딩 구성에 대한 형식화된 보고서와 샤드 클러스터의 기존 청크에 대한 정보를 인쇄합니다. | |
데이터베이스 프로파일러 level, slowms 및 sampleRate 를 구성합니다. | |
데이터베이스에 대한 변경 스트림 커서 를 열어 모든 비시스템 컬렉션에 대해 보고합니다. |
클라이언트 측 필드 수준 암호화 메서드
참고
제한 사항
자동 암호화는
mongosh
이(가) Atlas cluster 또는 MongoDB Enterprise Server에 연결된 경우에만 사용할 수 있습니다. 자세한 내용은 자동 클라이언트 측 필드 레벨 암호화 를 참조하세요. 이 섹션에 나열된 방법은 수동 암호화에 사용되며 엔터프라이즈가 아닌 서버에서 지원됩니다.mongosh
의 Homebrew 설치에서는 자동 암호화를 사용할 수 없습니다.필드 수준 암호화는
mongosh
바이너리에서만 사용할 수 있으며 내장된 Compass 셸에서는 사용할 수 없습니다.
메서드 | 설명 |
---|---|
암호화된 필드가 있는 컬렉션 생성 | |
현재 데이터베이스 연결이 encryptedValue 암호화에 사용되는 키 관리 서비스(KMS) 및 키 볼트에 대한 액세스로 구성된 경우 지정된 encryptedValue 를 해독합니다. | |
지정된 encryptionKeyId 및 encryptionAlgorithm 을 사용하여 지정된 값을 암호화합니다. | |
현재 데이터베이스 컬렉션에 대한 ClientEncryption 객체를 반환합니다. | |
현재 데이터베이스 연결에 대한 KeyVault 객체를 반환합니다. | |
지정된 UUID를 가진 데이터 암호화 키의 keyAltNames 배열에 keyAltName 을 추가합니다. | |
데이터베이스 연결과 연결된 키 모음에 데이터 암호화 키를 추가합니다. | |
지정된 UUID를 가진 데이터 암호화 키를 데이터베이스 연결에 연결된 키 모음에서 삭제합니다. | |
지정된 UUID를 가진 데이터 암호화 키를 가져옵니다. 데이터 암호화 키는 데이터베이스 연결과 연결된 주요 키 모음에 있어야 합니다. | |
지정된 keyAltName 의 모든 데이터 암호화 키를 가져옵니다. | |
데이터베이스 연결과 연결된 주요 키 모음에 저장된 모든 데이터 암호화 키를 반환합니다. | |
지정된 UUID를 가진 데이터 암호화 키에서 지정된 keyAltName 을 제거합니다. 데이터 암호화 키는 데이터베이스 연결과 연결된 주요 키 모음에 있어야 합니다. |
네이티브 메서드
메서드 | 설명 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||||
| 현재 작업 디렉토리를 지정된 경로로 변경합니다. | |||||||||||||||||||
| mongosh가 대화형 모드에서 실행 중인지 스크립트 모드에서 실행 중인지를 나타내는 부울을 반환합니다. | |||||||||||||||||||
| 셸에서 JavaScript 파일을 로드하고 실행합니다.
레거시 셸에서는 | |||||||||||||||||||
| 지정된 텍스트 또는 변수를 인쇄합니다.
| |||||||||||||||||||
| 활성 셸 세션의 현재 작업 디렉토리를 반환합니다. | |||||||||||||||||||
| 현재 셸 세션을 종료합니다. | |||||||||||||||||||
| 일정 시간 동안 mongo 셸을 일시 중단합니다. | |||||||||||||||||||
| mongosh 인스턴스의 현재 버전을 반환합니다. |
쿼리 계획 캐시 메서드
메서드 | 설명 |
---|---|
컬렉션의 쿼리 계획 캐시 개체 및 연결된 PlanCache 메서드에 액세스하는 인터페이스를 반환합니다. | |
컬렉션에 대해 캐시된 쿼리 계획을 모두 제거합니다. | |
컬렉션의 쿼리 계획 캐시를 보고 수정하는 데 사용할 수 있는 메서드를 나열합니다. | |
컬렉션에 대한 계획 캐시 항목 의 배열을 반환합니다. |
복제 방법
메서드 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
복제본 세트에 노드를 추가합니다. 이 방법을 실행하려면 복제본 세트의 프라이머리에 연결해야 합니다. | ||||||||||||
기존 복제본 세트에 중재자를 추가합니다. | ||||||||||||
현재 복제본 세트 구성이 포함된 문서를 반환합니다. | ||||||||||||
mongosh 이(가) 연결된 복제본 세트 멤버를 지정된 기간에 프라이머리 멤버가 될 수 없게 만듭니다. 기간은 초 단위로 지정해야 합니다. | ||||||||||||
oplog 데이터에서 복제본 세트의 상태를 반환합니다. | ||||||||||||
새 복제본 세트를 초기화합니다. | ||||||||||||
mongosh 가 연결된 복제본 세트 구성원의 oplog를 반환합니다. | ||||||||||||
mongosh 가 연결된 복제본 세트 구성원의 oplog를 반환합니다. | ||||||||||||
db.printSecondaryReplicationInfo | 복제본 세트의 세컨더리 멤버 상태를 반환합니다. 이는 다음은 두 개의 세컨더리 구성원을 가진 복제본 세트에서 실행된
| |||||||||||
rs.printSecondaryReplicationInfo | 복제본 세트의 세컨더리 멤버 상태를 반환합니다. 이는 다음은 두 개의 세컨더리 구성원을 가진 복제본 세트에서 실행된
| |||||||||||
기존 복제본 세트의 구성을 수정합니다. | ||||||||||||
호스트 이름으로 지정된 구성원을 복제본 집합에서 제거합니다. | ||||||||||||
mongosh 가 연결된 복제본 세트 구성원의 상태를 반환합니다. | ||||||||||||
복제본 세트의 프라이머리 세트를 세컨더리 세트로 만듭니다. 이 메서드를 실행하려면 프라이머리에 연결되어 있어야 합니다. | ||||||||||||
mongosh 가 연결된 복제본 세트 구성원의 호스트 이름으로 지정된 복제본 세트 구성원으로 동기화 대상을 다시 설정합니다. |
역할 관리 메서드
메서드 | 설명 |
---|---|
역할을 생성하고 해당 권한을 지정합니다. | |
사용자 정의 역할을 삭제합니다. | |
데이터베이스와 연결된 모든 사용자 정의 역할을 삭제합니다. | |
지정된 역할에 대한 정보를 반환합니다. | |
데이터베이스의 모든 사용자 지정 역할에 대한 정보를 반환합니다. | |
사용자 정의 역할에 권한을 할당합니다. | |
사용자 정의 역할에서 지정된 권한을 제거합니다. | |
사용자 정의 역할이 권한을 상속 받을 역할을 지정합니다. | |
역할에서 상속된 역할을 제거합니다. | |
사용자 정의 역할을 업데이트합니다. |
세션 객체 메서드
메서드 | 설명 |
---|---|
연결에 대한 세션을 시작합니다. | |
작동 시간을 업데이트합니다. | |
세션을 종료합니다. | |
세션에서 본 가장 최근의 클러스터 시간을 반환합니다. | |
셸의 세션에서 지정된 데이터베이스에 액세스합니다. | |
세션에 대해 마지막으로 승인된 작업의 타임스탬프를 반환합니다. | |
세션의 옵션을 반환합니다. | |
세션이 종료되었는지 여부를 지정하는 부울을 반환합니다. | |
셸의 세션에 대한 옵션입니다. SessionOptions() 객체에 액세스하려면 Session.getOptions() 을(를) 사용합니다. |
서버 상태 메서드
샤딩 메서드
메서드 | 설명 |
---|---|
샤드 클러스터에 샤드를 추가하세요. | |
샤드를 구역과 연결합니다. 샤드 클러스터에서 구역 구성을 지원합니다. | |
샤드된 컬렉션의 청크가 균형을 이루고 있는지에 대한 정보를 반환합니다. 버전 4.4에 추가되었습니다. | |
네임스페이스에 대한 자동 청크 병합을 비활성화합니다. 버전 7.0에 추가. | |
샤딩된 클러스터에 대한 자동 분할을 비활성화합니다. | |
샤드 데이터베이스의 단일 컬렉션에 대한 균형 조정을 비활성화합니다. 샤드 클러스터에 있는 다른 컬렉션의 균형 조정에는 영향을 주지 않습니다. | |
네임스페이스에 대한 자동 청크 병합을 활성화합니다. 버전 7.0에 추가. | |
샤딩된 클러스터에 대한 자동 분할을 활성화합니다. | |
특정 데이터베이스에서 샤딩을 활성화합니다. | |
밸런서 가 현재 활성화되어 있는지 여부를 보고하는 부울을 반환합니다. | |
샤드 컬렉션에 대한 데이터 배포 정보를 반환합니다. sh.getShardedDataDistribution() 은(는) $shardedDataDistribution 집계 파이프라인 단계에 대한 셸 헬퍼 메서드입니다. | |
밸런서 프로세스가 현재 청크를 마이그레이션하고 있는지 여부를 보고하는 부울을 반환합니다. | |
샤드 키 값 범위와 구역 간의 연결을 제거합니다. | |
샤드와 구역 간의 연결을 제거합니다. | |
tag와 샤드 간의 연결을 제거합니다. | |
sh.addShardTag() 메서드를 사용하여 생성된 샤드 태그에서 샤드 키 값 범위를 제거합니다. 이 메서드의 별칭은 MongoDB 3 에서 sh.removeRangeFromZone() 입니다.4. | |
샤드 간에 청크 를 마이그레이션하는 밸런서 를 활성화하거나 비활성화합니다. | |
컬렉션의 샤딩을 활성화합니다. | |
샤드 키 의 특정 값을 분할 지점으로 사용하여 기존 청크 를 두 개의 청크로 나눕니다. | |
쿼리와 일치하는 문서가 포함된 기존 청크 를 거의 동일한 두 개의 청크로 나눕니다. | |
자동 병합을 활성화합니다. 버전 7.0에 추가. | |
샤딩된 클러스터의 상태를 보고합니다. | |
AutoMerger를 비활성화합니다. 버전 7.0에 추가. | |
밸런서 를 비활성화합니다. 이 작업은 밸런서가 진행 중인 작업을 완료할 때까지 기다리지 않으며 진행 중인 작업을 종료할 수 있습니다. | |
다양한 샤드 키를 구역에 연결합니다. 샤드 클러스터에서 구역 구성을 지원합니다. |
원격 측정 메서드
이 메서드는 mongosh
가 익명 원격 분석 데이터를 추적할지 여부를 구성합니다. 원격 분석은 기본적으로 활성화되어 있습니다.
mongosh
가 원격 분석으로 추적하는 데이터에 대한 자세한 내용은 원격 분석 옵션 구성을 참조하세요.
메서드 | 설명 |
---|---|
mongosh 에 대한 원격 분석을 비활성화합니다. | |
mongosh 에 대해 원격 분석을 활성화합니다. |
트랜잭션 메서드
메서드 | 설명 |
---|---|
다중 문서 트랜잭션 을 종료하고 트랜잭션 내 작업으로 인해 변경된 모든 데이터를 롤백합니다. | |
다중 문서 트랜잭션 에서 작업으로 인한 변경 사항을 저장하고 트랜잭션을 종료합니다. | |
세션과 연결된 다중 문서 트랜잭션을 시작합니다. |
사용자 관리 메서드
중요
passwordPrompt()
메서드는 현재 mongosh
에서 지원되지 않습니다. 따라서 다음 방법을 사용할 때는 비밀번호를 매개변수로 지정해야 합니다.
메서드 | 설명 |
---|---|
사용자를 데이터베이스에 인증합니다. | |
기존 사용자의 비밀번호를 변경합니다. | |
새 사용자를 생성합니다. | |
데이터베이스와 연결된 모든 사용자를 삭제합니다. | |
사용자 한 명을 삭제합니다. | |
지정된 사용자에 대한 정보를 반환합니다. | |
데이터베이스와 연결된 모든 사용자에 대한 정보를 반환합니다. | |
지정된 사용자의 데이터를 업데이트합니다. | |
사용자에게 역할과 해당 권한을 부여합니다. | |
사용자로부터 역할을 제거합니다. |