MongoDB CLI 출력 사용자 지정
이 페이지의 내용
Go
템플릿 또는 JSON 경로를 사용하여 MongoDB CLI 출력 필드와 형식을 사용자 지정할 수 있습니다.
Go 템플릿
간단한 출력의 경우 명령을 사용하거나 복잡한 출력의 경우 별도의 파일을 통해 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
Atlas 클러스터 연결 string
다음 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
출력 유형
json-path
출력 유형은 명령의 결과를 지정한 필드로 제한합니다.
사용법
명령에 --output
옵션을 추가할 때 json-path
유형을 지정할 수 있습니다. 결과와 비교하여 평가하려면 json-path
에 표현식을 제공해야 하며, 이는 명령에서 반환되는 json
필드를 알고 있어야 함을 의미합니다.
구문
<command> --output|-o json-path='$<expression>'
json-path
표현식은 MongoDB CLI 명령이 반환하는 JSON 요소를 나타냅니다. $
문자는 루트 요소를 나타내며, 일반적으로 객체 또는 배열입니다.
유효한 문자 및 해당 함수의 목록은 JSONPath 표현식을 참조하세요.
예시
목록의 첫 번째 API 키에 대한 설명 반환
다음 예제에서는 사용자가 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" }, ]
목록에서 특정 API 키에 대한 설명 반환
다음 예제에서는 사용자가 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