Docs Menu
Docs Home
/
mongosh
/ /

API를 사용하여 설정 구성

config API 는 mongosh 구성을 검사하고 업데이트 하는 메서드를 제공합니다. config API 를 사용하여 업데이트한 내용은 세션 간에도 유지됩니다.

참고

config API는 mongosh 명령줄 인터페이스 내에서 사용할 수 있습니다. 임베디드 Compass shell 에는 영향을 주지 않습니다.

현재 mongosh 구성을 인쇄합니다.

config

<property>의 현재 값을 반환합니다.

config.get( "<property>" )

<property>의 현재 설정을 <value>로 변경합니다.

config.set( "<property>", <value> )

<property> 를 기본값 재설정합니다.

config.reset( "<property>" )
유형
기본값
설명

disableLogging

부울

false

MongoDB Shell 로그 항목을 작성할지 여부를 지정합니다.

displayBatchSize

integer

20

커서 반복당 표시되는 항목 수

enableTelemetry

부울

true

MongoDB에 익명화된 추적 및 진단 데이터를 보낼 수 있습니다.

editor

문자열

null

mongosh 콘솔 내에서 사용할 편집기를 지정합니다. 환경 변수가 설정되어 있으면 EDITOR 환경 변수를 재정의합니다.

forceDisableTelemetry

부울

false

글로벌 구성 파일에서만 사용할 수 있습니다. true인 경우 사용자는 원격 측정을 수동으로 활성화할 수 없습니다.

historyLength

integer

1000

mongosh REPL의 히스토리 파일에 저장할 항목 수입니다.

inspectCompact

정수 또는 부울

3

mongosh가 한 줄에 출력하는 내부 요소의 레벨입니다. 짧은 배열 요소도 한 줄로 그룹화됩니다.

false로 설정하면 mongosh는 각 필드를 자체 행에 출력합니다.

inspectDepth

정수 또는 무한대

6

객체가 출력되는 깊이입니다. inspectDepthInfinity(javascript 객체)로 설정하면 중첩된 모든 객체가 전체 깊이에 출력됩니다.

logCompressionEnabled

부울

거짓

MongoDB Shell 로그 파일을 압축할지 여부를 지정합니다. 이 값이 true이면 MongoDB Shell gzip을 사용하여 로그를 압축합니다. 로그 압축 활성화를 참조하세요.

logLocation

문자열

운영 체제에 따라 다릅니다. 셸 로그 보기를 참조하세요.

MongoDB Shell 로그 파일을 작성하는 디렉토리입니다. 절대 파일 경로를 지정합니다. 로그 파일 위치 지정을 참조하세요.

logMaxFileCount

정수 또는 무한대

100

MongoDB Shell 보관하는 최대 로그 파일 수입니다. MongoDB Shell 최대 로그 파일 수에 도달하면 해당 수가 임계값 아래에 도달할 때까지 가장 오래된 로그 파일을 삭제하기 시작합니다. 최대 로그 파일 수 수정을 참조하세요.

logRetentionDays

정수 또는 무한대

30

MongoDB Shell 로그 파일이 보관되는 일수입니다. 이 값을 Infinity로 설정하다 하면 보존 기간에 따라 로그 파일이 삭제되지 않습니다. 로그 저장 너무 커지는 것을 방지하려면 항상 로그 보존 기준을 하나 이상 지정합니다. 로그 보존을 참조하세요.

logRetentionGB

float 또는 무한대

Unset

MongoDB Shell 로그에 사용되는 최대 공간(GB)입니다. MongoDB Shell 로그의 총합이 이 값을 초과하면 가장 오래된 로그부터 로그 파일이 삭제됩니다.

이 값을 Infinity로 설정하다 하면 저장 크기에 따라 로그 파일이 삭제되지 않습니다. 로그 저장 너무 커지는 것을 방지하려면 항상 로그 보존 기준을 하나 이상 지정합니다. 로그 보존을 참조하세요.

redactHistory

문자열

remove

mongosh 명령 기록에 기록되는 정보를 제어합니다. 셸 내부에서 위쪽 및 아래쪽 키 또는 Ctrl+ R 통해 mongosh 명령 기록에 액세스 할 수 있습니다.

다음 값 중 하나여야 합니다.

  • keep: 모든 기록을 유지합니다.

  • remove: 기록에서 민감한 명령이 포함된 줄을 제거합니다. 예시 를 들어 remove 는 db.auth() 또는 connect()에 대한 호출을 제거합니다.

  • remove-redact: 민감한 명령이 포함된 줄을 제거하고 파일 경로, 이메일 주소, URL과 같은 다른 기록 줄의 특정 문자열을 삭제합니다.

showStackTraces

부울

false

오류 메시지와 함께 스택 추적의 표시를 제어합니다.

snippetAutoload

부울

true

true인 경우 시작 시 설치된 스니펫을 자동으로 로드합니다.

snippetIndexSourceURLs

문자열

스니펫 레지스트리에 연결되는 세미콜론으로 구분된 URL 목록입니다.

snippetRegistryURL

문자열

스니펫을 설치하는 mongosh npm 클라이언트에서 사용하는 npm 레지스트리입니다.

mongosh 는 일반적으로 특정 유형의 민감한 정보에 해당하는 패턴을 일치시키려는 '최선의 노력'을 시도합니다.

일치하는 패턴이 있습니다.

  • 인증서 및 키

  • 이메일 주소

  • 일반 사용자 디렉토리

  • HTTP(들) URL

  • IP 주소

  • MongoDB 연결 문자열

connect() 과 같은 특정 작업은 본질적으로 민감한 것으로 간주됩니다. redactHistoryremove 또는 remove-redact 로 설정하다 하면 이러한 연산이 있는 줄이 명령줄 기록에서 제거됩니다.

find() 같은 기타 작업에는 이메일 주소와 같은 민감한 정보가 포함되는 경우가 있습니다. 셸 기록에는 redactHistoryremove-redact로 설정되지 않는 한 이러한 줄이 입력된 그대로 유지됩니다.

다음은 config API로 지정된 설정입니다.

  • 구성 파일에 지정된 설정을 재정의합니다.

  • 재시작 시에도 유지됩니다.

예시

inspectDepth 설정을 20 로 설정하는 다음 구성 파일 을 고려하세요.

mongosh:
inspectDepth: 20

mongosh 세션 중에 다음 명령을 실행하여 inspectDepth10으로 설정합니다.

config.set( "inspectDepth", 10 )

의 값은 inspectDepth 10 10mongosh 되며 을 다시 시작하더라도 상태로 유지됩니다.

대용량 문서가 많은 컬렉션 을 보는 것이 좋습니다. batchSize 를 업데이트 하여 커서 가 반환하는 항목 수를 제한할 수 있습니다.

config.set("displayBatchSize", 3)

향후 db.collection.find() 작업은 커서 반복당 문서 3개만 반환합니다.

스택 추적을 사용 설정하면 더 자세한 오류 보고를 확인할 수 있습니다.

config.set("showStackTraces", true)

출력은 다음과 같이 달라집니다.

// showStackTraces set to 'false'
Enterprise> db.orders.find( {}, { $thisWontWork: 1 } )
MongoError: FieldPath field names may not start with '$'.
// showStackTraces set to 'true'
Enterprise> db.orders.find( {}, { $thisWontWork: 1 } )
Uncaught:
MongoError: FieldPath field names may not start with '$'.
at MessageStream.messageHandler (/usr/bin/mongosh:58878:20)
at MessageStream.emit (events.js:315:20)
at MessageStream.EventEmitter.emit (domain.js:548:15)
at processIncomingData (/usr/bin/mongosh:57954:12)
at MessageStream._write (/usr/bin/mongosh:57850:5)
at writeOrBuffer (_stream_writable.js:352:12)
at MessageStream.Writable.write (_stream_writable.js:303:10)
at Socket.ondata (_stream_readable.js:719:22)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:548:15)

--evalmongosh와 함께 사용하여 명령줄에서 config API를 호출할 수 있습니다. 이 경우 --nodb 옵션은 mongosh MongoDB database에 연결하지 않고 업데이트된다는 의미입니다.

중요

--eval 표현식과 config 속성에는 서로 다른 따옴표를 사용해야 합니다. 즉 하나에 작은따옴표를 사용했으면 다른 하나에는 큰따옴표를 사용해야 합니다.

mongosh --nodb --eval 'config.set("enableTelemetry", true)'

mongosh API 호출 결과와 함께 추가 정보를 반환합니다.

Current Mongosh Log ID: 609583b730e14918fa0d363f
Using MongoDB: undefined
Using Mongosh Beta: 0.12.1
For mongosh info see: https://www.mongodb.com/ko-kr/docs/mongodb-shell/
Setting "enableTelemetry" has been changed

redactHistoryremove-redact 또는 remove로 설정되었을 때 리콜된 기록을 비교합니다.

redactHistoryremove-redact 모드 하고 이메일 주소 가 포함된 쿼리 를 입력합니다.

config.set( "redactHistory", "remove-redact" )
db.contacts.find( {"email": "[email protected]" } )

마지막 명령을 재생하기 위해 up arrow를 누르면 이메일 주소가 수정됩니다.

db.contacts.find( {"email": "<email>" } ) // Redacted

redactHistoryremove 모드 하고 이메일 주소 가 포함된 쿼리 를 입력합니다.

config.set( "redactHistory", "remove" )
db.contacts.find( {"email": "[email protected]" } )

이메일 주소가 존재하는 마지막 명령을 재생하기 위해 up arrow를 누를 때.

db.contacts.find( {"email": "[email protected]" } )

shell 기록 은 변경 사항을 반영합니다. (이 경우 가장 최근의 입력이 먼저 저장됩니다.)

db.contacts.find( {"email": "[email protected]" } )
config.set( "redactHistory", "remove" )
db.contacts.find( {"email": "<email>" } )
config.set( "redactHistory", "remove-redact" )

구성 설정을 수정한 후 기본값 으로 재설정하려면 config.reset( "<property>" ) 를 사용합니다.

  1. historyLength 설정 값을 2000으로 변경합니다.

    config.set("historyLength", 2000)
  2. historyLength 의 업데이트된 값을 확인합니다.

    config.get("historyLength")
  3. historyLength 설정을 기본값 인 1000 로 재설정합니다.

    config.reset("historyLength")
  4. historyLength 의 업데이트된 값을 확인합니다.

    config.get("historyLength")

돌아가기

설정 구성

이 페이지의 내용

  • 구문
  • 행동
  • 예시