문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

mongosh 방법

이 페이지의 내용

  • 컬렉션
  • 커서
  • 데이터베이스
  • 쿼리 계획 캐시
  • 대량 쓰기 작업
  • 사용자 관리
  • 역할 관리
  • 복제
  • 샤딩
  • 생성자
  • 연결
  • 네이티브
  • Client-Side Field Level Encryption

참고

MongoDB의 자바스크립트

이러한 메서드는 JavaScript를 사용하지만 MongoDB와의 대부분의 상호 작용은 JavaScript를 사용하지 않고 상호 작용하는 애플리케이션의 언어로 된 관용적 드라이버 를 사용합니다.

참고

구문 및 예시를 포함하여 특정 메서드에 대한 자세한 내용을 보려면 해당 메서드의 도움말 페이지 링크를 클릭하십시오.

이름
설명
db.collection.aggregate()
집계 파이프라인에 대한 액세스를 제공합니다.
대량 쓰기 작업 기능을 제공합니다.
컬렉션 또는 뷰에 있는 문서 수의 숫자를 반환하도록 count를 래핑합니다.
$group 집계 단계를 $sum 표현식으로 래핑하여 컬렉션 또는 뷰의 문서 수 카운트를 반환합니다.
컬렉션에 인덱스를 작성합니다.
컬렉션에 대해 하나 이상의 인덱스를 작성합니다.
컬렉션의 크기를 반환합니다. size 필드를 collStats의 출력으로 래핑합니다.
컬렉션에서 단일 문서를 삭제합니다.
컬렉션에 있는 여러 문서를 삭제합니다.
지정된 필드에 고유한 값을 가진 문서의 배열을 반환합니다.
데이터베이스에서 지정된 컬렉션을 제거합니다.
컬렉션에서 지정된 인덱스를 제거합니다.
컬렉션의 모든 인덱스를 제거합니다.
제거됨. db.collection.createIndex()를 사용하세요.
count를 래핑하여 컬렉션 또는 뷰에 있는 문서의 대략적인 개수를 반환합니다.
다양한 메서드의 쿼리 실행에 대한 정보를 반환합니다.
컬렉션이나 뷰에 대해 쿼리를 수행하고 커서 객체를 반환합니다.
하나의 문서를 원자 단위로 수정하고 반환합니다.
쿼리를 수행하여 단일 문서를 반환합니다.
하나의 문서를 찾아서 삭제합니다.
하나의 문서를 찾아서 대체합니다.
단일 문서를 찾아서 업데이트합니다.
컬렉션의 기존 인덱스를 설명하는 문서 배열을 반환합니다.
샤딩된 클러스터의 컬렉션의 경우 db.collection.getShardDistribution()청크 분포 데이터를 보고합니다.
샤딩된 클러스터의 내부 진단 방법.
쿼리 플래너에서 인덱스를 숨깁니다.
컬렉션에 새 문서를 삽입합니다.
여러 개의 새 문서를 컬렉션에 삽입합니다.
컬렉션이 고정 사이즈 컬렉션인지 보고합니다.
컬렉션의 지연 시간 통계를 반환합니다.
맵 리듀스 스타일 데이터 집계를 수행합니다.
컬렉션의 모든 기존 인덱스를 다시 작성합니다.
컬렉션에서 문서를 삭제합니다.
컬렉션의 이름을 변경합니다.
컬렉션의 단일 문서를 교체합니다.
컬렉션의 상태에 대해 보고합니다. collStats 주위에 래퍼를 제공합니다.
컬렉션에서 사용한 총 크기를 바이트 단위로 보고합니다. collStats 출력의 storageSize 필드 주위에 래퍼를 제공합니다.
컬렉션의 인덱스가 사용한 총 크기를 보고합니다. collStats 출력의 totalIndexSize 필드 주위에 래퍼를 제공합니다.
컬렉션의 모든 문서와 모든 인덱스의 크기를 포함하여 컬렉션의 전체 크기를 보고합니다.
쿼리 플래너에서 인덱스를 다시 보여줍니다.
컬렉션의 단일 문서를 수정합니다.
컬렉션의 여러 문서를 수정합니다.
컬렉션에 변경 스트림을 설정합니다.
컬렉션에 대한 진단 작업을 수행합니다.
이름
설명
쿼리의 동작을 수정하는 특수 유선 프로토콜 플래그를 추가합니다.
차단 정렬 작업을 처리하는 동안 100메가바이트 시스템 메모리 한도를 초과하는 데이터를 저장하기 위해 MongoDB가 디스크에 임시 파일을 사용할 수 있도록 합니다.
쿼리된 샤드를 하나 이상 사용할 수 없는 경우 분할된 컬렉션에 대한 db.collection.find() 작업을 통해 오류가 아닌 부분 결과를 반환할 수 있습니다.
MongoDB가 단일 네트워크 메시지로 클라이언트에 반환할 문서 수를 제어합니다.
커서를 닫고 관련 서버 리소스를 확보합니다.
커서가 닫히면 true를 반환합니다.
db.collection.find()에서 반환한 커서의 데이터 정렬을 지정합니다.
쿼리에 주석을 첨부하여 로그 및 system.profile 컬렉션에서 추적할 수 있도록 합니다.
문서 자체가 아닌 결과 세트에 있는 문서 수를 반환하도록 커서를 수정합니다.
커서에 대한 쿼리 실행 계획에 대한 보고서입니다.
커서의 모든 문서에 자바스크립트 함수를 적용합니다.
커서에 문서가 있고 반복할 수 있는 경우 true를 반환합니다.
MongoDB가 쿼리에 특정 인덱스를 사용하도록 강제합니다.
커서가 닫혀 있고 배치에 남아 있는 객체가 없으면 true 반환합니다.
결과 세트를 가져오고 반복하여 커서 클라이언트 사이드에 있는 총 문서 수를 계산합니다.
커서 결과 집합의 크기를 제한합니다.
커서의 각 문서에 함수를 적용하고 반환 값을 배열로 수집합니다.
커서에 대한 배타적 상위 인덱스 바운드를 지정합니다. 다음과 함께 사용합니다. cursor.hint()
커서에서 작업을 처리하는 데 걸리는 누적 시간 제한을 밀리초 단위로 지정합니다.
커서에 대한 포괄적인 인덱스 바운드를 지정합니다. 다음과 함께 사용합니다. cursor.hint()
커서에서 다음 문서를 반환합니다.
일정 시간 동안 활동이 없어도 커서가 자동으로 닫히지 않도록 서버에 지시합니다.
현재 커서 배치에 남아 있는 문서 수를 반환합니다.
결과를 읽기 쉬운 형식으로 표시하도록 커서를 구성합니다.
find() 작업에 대한 읽기 고려 사항을 지정합니다.
클라이언트가 쿼리를 복제본 세트로 보내는 방법을 제어하기 위해 커서에 대한 읽기 기본 설정을 지정합니다.
문서가 아닌 인덱스 키를 반환하도록 커서를 수정합니다.
커서가 반환한 각 문서에 내부 스토리지 엔진 ID 필드를 추가합니다.
skip()limit() 메서드를 적용한 후 커서에 있는 문서의 개수를 반환합니다.
여러 문서를 통과하거나 건너뛴 후에야 결과를 반환하기 시작하는 커서를 반환합니다.
정렬 지정에 따라 정렬된 결과를 반환합니다.
커서를 사용 가능(tailable)으로 표시합니다. 고정 사이즈 컬렉션의 커서에만 유효합니다.
커서에서 반환된 모든 문서를 포함하는 배열을 반환합니다.
이름
설명
admin 데이터베이스에 대해 명령을 실행합니다.
기본 컬렉션이 필요하지 않은 관리/진단 파이프라인을 실행합니다.
데이터베이스 명령에 대한 도움말 정보를 반환합니다.
새 컬렉션이나 보기를 만듭니다. 일반적으로 한도 제한 컬렉션을 만드는 데 사용됩니다.
보기를 만듭니다.
현재 진행 중인 작업을 보고합니다.
현재 데이터베이스를 제거합니다.
쓰기 작업을 방지하고 백업 작업을 지원하기 위해 디스크에 쓰기를 플러시하고 데이터베이스를 잠급니다. fsync를 래핑합니다.
db.fsyncLock() 잠금이 설정된 데이터베이스에서 쓰기를 계속할 수 있습니다.
현재 데이터베이스의 모든 컬렉션 및 보기에 대한 컬렉션 정보를 반환합니다.
현재 데이터베이스의 모든 컬렉션 및 보기를 나열합니다.
로그 메시지 상세도 수준을 반환합니다.
현재 연결에 대한 Mongo() 연결 객체를 반환합니다.
현재 데이터베이스의 이름을 반환합니다.
현재 프로파일링 수준과 프로파일링 임계값을 반영하는 문서를 반환합니다.
복제 통계가 포함된 문서를 반환합니다.
지정된 데이터베이스에 대한 액세스를 제공합니다.
복제본 세트의 상태를 보고하는 문서를 반환합니다.
일반적인 db 객체 메서드에 대한 설명을 표시합니다.
MongoDB가 실행되는 시스템에 대한 정보가 포함된 문서를 반환합니다. 랩 hostInfo
지정된 작업을 종료합니다.
일반적인 데이터베이스 명령 목록을 표시합니다.
더 이상 사용되지 않습니다. 인증된 세션을 종료합니다.
모든 컬렉션의 통계를 인쇄합니다. db.collection.stats()를 래핑합니다.
프라이머리의 관점에서 복제본 세트의 상태에 대한 보고서를 인쇄합니다.
세컨더리의 관점에서 복제본 세트의 상태를 인쇄합니다.
분할 구성 및 청크 범위에 대한 보고서를 인쇄합니다.
MongoDB 5.0에서 제거되었습니다. 마지막 오류 상태를 초기화합니다.
온라인 TLS 인증서 로테이션을 수행합니다. rotateCertificates를 래핑합니다.
데이터베이스 명령을 실행합니다.
mongod 인스턴스에 대한 컴파일 매개 변수를 표시하는 문서를 반환합니다. buildInfo를 래핑합니다.
MongoDB 인스턴스를 시작하는 데 사용되는 런타임 옵션에 대한 정보가 포함된 문서를 반환합니다. getCmdLineOpts를 래핑합니다.
데이터베이스 프로세스 상태에 대한 개요를 제공하는 문서를 반환합니다.
단일 로그 메시지 상세도 수준을 설정합니다.
데이터베이스 프로파일링의 현재 수준을 수정합니다.
현재 mongod 또는 mongos 프로세스를 깨끗하고 안전하게 종료합니다.
현재 데이터베이스의 상태를 보고하는 문서를 반환합니다.
mongod 인스턴스의 버전을 반환합니다.
데이터베이스에 대한 변경 스트림 커서를 열어system 가 아닌 모든 컬렉션에 대해 보고합니다. admin, local 또는 config 데이터베이스에서 열 수 없습니다.
이름
설명
컬렉션의 쿼리 계획 캐시 객체 및 연결된 PlanCache 메서드에 액세스하는 인터페이스를 반환합니다.
컬렉션에 대해 캐시된 모든 쿼리 계획을 지웁니다. 특정 컬렉션의 계획 캐시 객체(예: db.collection.getPlanCache().clear())를 통해 액세스할 수 있습니다.
지정된 쿼리 형태에 대해 캐시된 쿼리 계획을 지웁니다. 특정 컬렉션의 계획 캐시 객체를 통해 액세스할 수 있습니다. 예: db.collection.getPlanCache().clearPlansByQuery()
컬렉션의 쿼리 계획 캐시에 사용할 수 있는 메서드를 표시합니다. 특정 컬렉션의 계획 캐시 객체(예: db.collection.getPlanCache().help())를 통해 액세스할 수 있습니다.
컬렉션에 대한 요금제 캐시 정보를 반환합니다. 특정 컬렉션의 계획 캐시 객체(예: db.collection.getPlanCache().list())를 통해 액세스할 수 있습니다.
이름
설명
순서가 지정된 작업 목록에 대한 Bulk() 작업 빌더를 초기화합니다.
순서가 지정되지 않은 작업 목록에 대해 Bulk() 작업 빌더를 초기화합니다.
대량 작업 빌더.
작업 목록을 일괄적으로 실행합니다.
업데이트 또는 제거 작업에 대한 쿼리 조건을 지정합니다.
update 또는 updateOne 작업에 대해 업데이트할 배열 요소를 결정하는 필터를 지정합니다.
쿼리 조건에 대한 데이터 정렬을 지정합니다.
여러 문서 삭제 작업을 작업 목록에 추가합니다.
작업 목록에 단일 문서 삭제 작업을 추가합니다.
업데이트/바꾸기 작업에 사용할 인덱스를 지정합니다.
Bulk.find.delete()의 별칭입니다.
Bulk.find.deleteOne()의 별칭입니다.
작업 목록에 단일 문서 바꾸기 작업을 추가합니다.
작업 목록에 단일 문서 업데이트 작업을 추가합니다.
작업 목록에 multi 업데이트 작업을 추가합니다.
업데이트 작업에 upsert: true를 지정합니다.
Bulk() 작업 객체에서 실행된 쓰기 작업의 배열을 반환합니다.
작업 목록에 삽입 작업을 추가합니다.
Bulk() 작업 객체의 작업 수 및 배치가 포함된 JSON 문서를 반환합니다.
Bulk.toJSON() 결과를 문자열로 반환합니다.
이름
설명
사용자를 데이터베이스에 인증합니다.
기존 사용자의 비밀번호를 변경합니다.
새 사용자를 생성합니다.
단일 사용자를 제거합니다.
데이터베이스와 연결된 모든 사용자를 삭제합니다.
지정된 사용자에 대한 정보를 반환합니다.
데이터베이스와 연결된 모든 사용자에 대한 정보를 반환합니다.
사용자에게 역할과 해당 권한을 부여합니다.
더 이상 사용되지 않습니다. 데이터베이스에서 사용자를 제거합니다.
사용자로부터 역할을 제거합니다.
사용자 데이터를 업데이트합니다.
다양한 mongosh 사용자 인증/관리 방법에서 비밀번호를 직접 지정하는 대신 비밀번호를 입력하라는 메시지를 표시합니다.
이름
설명
역할을 생성하고 해당 권한을 지정합니다.
사용자 정의 역할을 삭제합니다.
데이터베이스와 연결된 모든 사용자 정의 역할을 삭제합니다.
지정된 역할에 대한 정보를 반환합니다.
데이터베이스의 모든 사용자 지정 역할에 대한 정보를 반환합니다.
사용자 정의 역할에 권한을 할당합니다.
사용자 정의 역할에서 지정된 권한을 제거합니다.
사용자 정의 역할이 권한을 상속 받을 역할을 지정합니다.
역할에서 상속된 역할을 제거합니다.
사용자 정의 역할을 업데이트합니다.
이름
설명
복제본 세트에 멤버를 추가합니다.
복제본 세트에 중재자를 추가합니다.
복제본 세트 구성 문서를 반환합니다.
일정 기간 동안 현재 멤버가 프라이머리로 선출되는 것을 방지합니다.
복제본 세트 함수에 대한 기본 도움말 텍스트를 반환합니다.
새 복제본 세트를 초기화합니다.
프라이머리의 관점에서 복제본 세트 상태에 대한 형식화된 보고서를 인쇄합니다.
세컨더리의 관점에서 복제본 세트 상태에 대한 형식화된 보고서를 인쇄합니다.
새로운 복제본 세트 구성 객체를 적용하여 복제본 세트를 재구성합니다.
복제본 세트에서 멤버를 제거합니다.
복제본 세트의 상태에 대한 정보가 포함된 문서를 반환합니다.
현재 프라이머리를 세컨더리가 되게 만들어 선거를 강제합니다.
이 복제본 세트 구성원이 동기화할 구성원을 설정하여 기본 동기화 대상 선택 논리를 재정의합니다.
이름
설명

리샤딩 작업을 중단합니다.

버전 5.0에 추가.

샤딩된 클러스터에 샤드를 추가합니다.
MongoDB 3.4에서 이 메서드의 별칭은 sh.addShardToZone()입니다.
샤드를 구역과 연결합니다. 샤딩된 클러스터의 영역 구성을 지원합니다.
MongoDB 3.4에서 이 메서드의 별칭은 sh.updateZoneKeyRange()입니다.
샤드된 컬렉션의 청크가 균형을 이루고 있는지에 대한 정보를 반환합니다.

쓰기 차단 및 완료를 위해 리샤딩 작업을 강제로 수행합니다.

버전 5.0에 추가.

샤드 데이터베이스의 단일 컬렉션에 대한 균형 조정을 비활성화합니다. 샤딩된 클러스터에 있는 다른 컬렉션의 균형 조정에는 영향을 주지 않습니다.
sh.disableBalancing()를 사용하여 이전에 비활성화한 경우 샤드 컬렉션 밸런서 프로세스를 활성화합니다.
샤딩된 클러스터에 대한 자동 분할을 비활성화합니다.
샤딩된 클러스터에 대한 자동 분할을 활성화합니다.
특정 데이터베이스에서 샤딩을 활성화합니다.
밸런서가 현재 활성화되어 있는지 여부를 보고하는 부울을 반환합니다.
MongoDB 3.4에서 이 메서드의 별칭은 sh.removeRangeFromZone()입니다.
샤드 키 값 범위와 구역 간의 연결을 제거합니다. 샤딩된 클러스터의 영역 구성을 지원합니다.
sh 메서드에 대한 도움말 텍스트를 반환합니다.
밸런서 프로세스가 현재 청크를 마이그레이션하고 있는지 여부를 보고하는 부울을 반환합니다.
샤딩된 클러스터청크를 마이그레이션합니다.
MongoDB 3.4에서 이 메서드의 별칭은 sh.removeShardFromZone()입니다.
샤드와 구역 간의 연결을 제거합니다. 영역 샤딩을 관리하는 데 사용합니다.

컬렉션의 샤드 키를 변경하는 리샤딩 작업을 시작하여 데이터 배포를 변경합니다.

버전 5.0에 추가.

샤드 간에 청크를 마이그레이션하는 밸런서를 활성화 또는 비활성화합니다.
컬렉션의 샤딩을 활성화합니다.
샤드 키 의 특정 값을 분할 지점으로 사용하여 기존 청크를 두 개의 청크로 나눕니다.
쿼리와 일치하는 문서가 포함된 기존 청크를 거의 동일한 두 개의 청크로 나눕니다.
밸런서를 활성화하고 밸런싱이 시작될 때까지 기다립니다.
샤딩된 클러스터의 상태를 db.printShardingStatus()로 보고합니다.
밸런서를 비활성화하고 진행 중인 밸런싱 라운드가 완료될 때까지 기다립니다.
내부. 밸런서 상태가 변경될 때까지 기다립니다.
내부. 밸런서 실행이 중지될 때까지 기다립니다.
내부. 샤딩된 클러스터의 mongos 중 하나에서 ping 상태가 변경될 때까지 기다립니다.
다양한 샤드 키를 구역에 연결합니다. 샤딩된 클러스터의 영역 구성을 지원합니다.
입력에 대한 해시값을 반환합니다.
이름
설명
바이너리 데이터 객체를 반환합니다.
Bulk.execute()의 결과 세트를 둘러싸는 래퍼입니다.
날짜 객체를 만듭니다. 기본적으로 현재 날짜를 포함한 날짜 객체를 생성합니다.
ObjectId를 반환합니다.
ObjectId의 타임스탬프 부분을 반환합니다.
ObjectId의 문자열 표현을 표시합니다.
ObjectId의 str 속성을 16진수 문자열로 표시합니다.
32바이트 16진수 문자열을 UUID BSON 하위 유형으로 변환합니다.
쓰기 메서드의 결과 세트를 감싸는 래퍼입니다.
결과에 WriteResult.writeError가 포함되는지 여부를 지정하는 부울을 반환합니다.
결과에 WriteResult.writeConcernError가 포함되는지 여부를 지정하는 부울을 반환합니다.
이름
설명
MongoDB 인스턴스 및 해당 인스턴스의 지정된 데이터베이스에 연결합니다.
새 연결 객체를 만듭니다.
데이터베이스 객체를 반환합니다.
MongoDB 연결에 대한 현재 읽기 기본 설정 모드를 반환합니다.
MongoDB 연결에 대해 설정된 읽기 기본 설정 태그를 반환합니다.
연결 객체에 대한 인과적 일관성을 활성화하거나 비활성화합니다.
MongoDB 연결에 대한 읽기 기본 설정을 설정합니다.
연결 객체에서 세션을 시작합니다.
배포에 대한 변경 스트림 커서를 열어 내부 admin, localconfig 데이터베이스를 제외한 모든 데이터베이스의 system가 아닌 모든 컬렉션에 대해 보고합니다.
세션 객체입니다.
세션에 대한 옵션 객체입니다.
이름
설명
지정된 파일의 내용을 반환합니다.
현재 작업 디렉토리를 지정된 경로로 변경합니다.
로컬 dbPath 를 복사합니다. 내부용입니다.
shell에서 사용한 메모리 양을 보고하는 문서를 반환합니다.
shell을 실행하는 시스템의 호스트 이름을 반환합니다.
mongosh 이(가) 대화형 모드에서 실행 중인지 스크립트 모드에서 실행 중인지 여부를 나타내는 부울을 반환합니다.
디렉토리에 있는 각 객체의 이름과 크기를 제공하는 문서 배열을 반환합니다.
셸에서 JavaScript 파일을 로드하고 실행합니다.
현재 디렉토리에 있는 파일 목록을 반환합니다.
지정된 파일의 md5 해시입니다.
지정된 경로에 디렉토리를 생성합니다.
현재 디렉토리를 반환합니다.
현재 셸 세션을 종료합니다.
로컬 파일 시스템에서 지정된 파일을 제거합니다.
로컬 dbPath 를 제거합니다. 내부용입니다.
지정된 기간 동안 mongosh 를 일시 중단합니다.
작업 타이밍을 보고하도록 mongosh 를 구성합니다.
mongosh 인스턴스의 현재 버전을 반환합니다.
shell이 Windows 시스템에서 실행되는 경우 true 를 반환합니다. Unix 또는 Linux 시스템의 경우 false 입니다.
0 ~ 1 사이의 난수를 반환합니다.

참고

mongo 클라이언트 사이드 필드 수준 암호화 방법을 사용하려면 클라이언트 사이드 필드 수준 암호화가 활성화된 데이터베이스 연결이 필요합니다. 클라이언트 사이드 필드 수준 암호화가 활성화된 상태에서 현재 데이터베이스 연결이 시작되지 않은 경우 다음 중 하나를 수행하세요.

이름
설명
현재 MongoDB 연결에 대한 Key Vault 객체를 반환합니다.
클라이언트 사이드 필드 수준 암호화에 사용할 데이터 암호화 키를 생성합니다.
Key Vault에서 지정된 데이터 암호화 키를 삭제합니다.
Key Vault에서 지정된 데이터 암호화 키를 검색합니다.
키 보관소에 있는 모든 키를 검색합니다.
키 대체 이름을 지정된 데이터 암호화 키에 연결합니다.
지정된 데이터 암호화 키에서 키 대체 이름을 제거합니다.
지정된 키 대체 이름을 가진 키를 검색합니다.
필드의 명시적 암호화/복호화를 지원하기 위한 클라이언트 암호화 객체를 반환합니다.
지정된 데이터 암호화 키 및 암호화 알고리즘을 사용하여 필드를 암호화합니다.
연관된 데이터 암호화 키와 암호화 알고리즘을 사용하여 필드를 복호화합니다.
← logApplicationMessage