Docs Menu
Docs Home
/ /
MongoDB CLI
/

MongoDB CLI 출력 사용자 지정

이 페이지의 내용

  • Go 템플릿
  • json-path 출력 유형

Go 템플릿 또는 JSON 경로를 사용하여 MongoDB CLI 출력 필드와 형식을 사용자 지정할 수 있습니다.

간단한 출력의 경우 명령을 사용하거나 복잡한 출력의 경우 별도의 파일을 통해 Go 템플릿을 지정할 수 있습니다. 템플릿에 대한 자세한 내용은 패키지 템플릿 를 참조하세요. . 각 응답에 사용할 수 있는 유형 및 속성에 대한 자세한 내용은 다음을 참조하세요.

--output 또는 -o 옵션을 사용하는 명령으로 템플릿을 지정할 수 있습니다.

--output|-o go-template="{{<template>}}"

--output 또는 -o 옵션을 사용하여 파일을 사용하여 템플릿을 지정할 수 있습니다.

--output|-o go-template-file="<path-to-template-file>"

다음 명령은 템플릿을 사용하여 기본값 프로필을 사용하여 지정된 조직 의 프로젝트 수를 조회 합니다.

mongocli iam projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template="Count: {{.TotalCount}}"

앞의 명령은 다음 출력을 반환합니다.

Count: 2

다음 mongocli-atlas-clusters-describe 명령은 템플릿을 사용하여 getStarted 라는 Atlas cluster의 연결 문자열을 검색합니다. Atlas에 액세스할 때 기본 프로필을 사용합니다.

mongocli atlas clusters describe getStarted -o go-template="Parse: {{.SrvAddress}}"

이전 명령은 다음과 유사한 string 을 반환합니다.

Parse: mongodb+srv://getstarted.example.mongodb.net

MongoDB Shell mongosh 을(를) 사용하여 srvAddress연결 string 을 사용하여 getStarted 클러스터 에 연결할 수 있습니다. 이 예시 에서는 이전 명령에서 반환된 연결 string 을 사용합니다.

mongo "mongodb+srv://getstarted.example.mongodb.net" --username User1 --password ChangeThisPasswordToSomethingSecure

예를 들어 template.tmpl 이라는 다음 파일을 가정해 보겠습니다.

Projects: {{range .Results}}{{.ID}} {{end}}

다음 명령은 template.tmpl 파일 에서 기본값 프로필로 지정된 조직 의 프로젝트 ID를 조회 합니다.

mongocli iam projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template-file="template.tmpl"

앞의 명령은 다음 출력을 반환합니다.

Projects: 5e2211c17a3e5a48f5497de3 5f455b39749bea5fb575dccc

json-path 출력 유형은 명령의 결과를 지정한 필드로 제한합니다.

명령에 --output 옵션을 추가할 때 json-path 유형을 지정할 수 있습니다. 결과와 비교하여 평가하려면 json-path 에 표현식을 제공해야 하며, 이는 명령에서 반환되는 json 필드를 알고 있어야 함을 의미합니다.

<command> --output|-o json-path='$<expression>'

json-path 표현식은 MongoDB CLI 명령이 반환하는 JSON 요소를 나타냅니다. $ 문자는 루트 요소를 나타내며, 일반적으로 객체 또는 배열입니다.

유효한 문자 및 해당 함수의 목록은 JSONPath 표현식을 참조하세요.

다음 예제에서는 사용자가 mongocli iam 조직 apiKeys 목록 을 사용하여 API 키를 조회합니다. json-path 표현식은 전체 키 목록을 반환하는 대신 출력을 첫 번째 키의 desc 필드로 제한합니다.

mongocli iam organization apikeys list --output json-path='$[0].desc'
> owner_key

로 동일한 명령을 --output json 실행하면 API 에서 전체 JSON 요소가 반환됩니다. json-path 으로 연산을 수행하려면 명령이 반환하는 JSON 구조를 이해하는 것이 중요합니다.

참고로 다음의 전체 JSON 출력을 사용하여 $[0].desc 표현식이 있는 --output json-path 을(를) 사용하면 "owner_key" 값만 찾아서 반환합니다.

[ //``$`` represents the outer array.
{ // ``[0]`` refers to the first element in the array (using a 0-based index).
"id": "60e736a95d585d2c9ccf2d19",
"desc": "owner_key", //``.desc`` refers to the ``desc`` field of that element.
"roles": [
{
"orgId": "5d961a949ccf64b4e7f53bac",
"roleName": "ORG_OWNER"
}
],
"privateKey": "********-****-****-c4e26334754f",
"publicKey": "xtfmtguk"
},
{
"id": "d2c9ccf2d1960e736a95d585",
"desc": "member_key",
"roles": [
{
"orgId": "5d961a949ccf64b4e7f53bac",
"roleName": "ORG_MEMBER"
}
],
"privateKey": "********-****-****-c4e26334754f",
"publicKey": "vfgcttku"
},
]

다음 예제에서는 사용자가 mongocli iam 조직 apiKeys 목록 을 사용하여 API 키를 조회합니다. json-path 표현식은 id d2c9ccf2d1960e736a95d585 를 사용하여 특정 JSON 객체의 desc 필드로 출력을 제한합니다.

mongocli iam organization apikeys list --output json-path='$[? @.id=="d2c9ccf2d1960e736a95d585"].desc'
> member_key

다음 예제에서는 사용자가 mongocli-atlas-privateEndpoints-aws-describe 을 사용하여 비공개 엔드포인트에 대한 정보를 검색합니다. json-path 표현식은 출력을 루트 요소의 status 필드로 제한합니다.

mongocli atlas privateendpoint aws describe 601a4044da900269480a2533 --output json-path='$.status'
> WAITING_FOR_USER

돌아가기

자동 완성 활성화