Personalizar a saída do MongoDB CLI
Nesta página
Você pode personalizar o campo de saída e o formato da MongoDB CLI usando um modelo Go
ou um caminho JSON.
Go templates
Você pode especificar o modelo Go com o comando para uma saída simples ou por meio de um arquivo separado para uma saída complexa. Para obter informações sobre o modelo, consulte Modelo de pacote. Para obter informações sobre os tipos e propriedades disponíveis para cada resposta, consulte:
Sintaxe
Você pode especificar um modelo com o comando usando a opção --output
ou -o
:
--output|-o go-template="{{<template>}}"
Você pode especificar um modelo utilizando um arquivo utilizando a opção --output
ou -o
:
--output|-o go-template-file="<path-to-template-file>"
Exemplos
Recupere o número de projetos
O comando a seguir usa o modelo para recuperar uma contagem do número de projetos na organização especificada usando operfil padrão :
mongocli iam projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template="Count: {{.TotalCount}}"
O comando anterior retorna a seguinte saída:
Count: 2
Recupere a connection string do Atlas cluster
O comando mongocli-atlas-clusters-describe
seguinte utiliza o modelo para recuperar a string de conexão para um cluster do Atlas denominado getStarted
. Ele utiliza o perfil padrão para acessar o Atlas.
mongocli atlas clusters describe getStarted -o go-template="Parse: {{.SrvAddress}}"
O comando anterior retorna uma string semelhante à seguinte:
Parse: mongodb+srv://getstarted.example.mongodb.net
Você pode usar o MongoDB Shell, mongosh
, para se conectar ao cluster getStarted
com srvAddress
e a string de conexão. Este exemplo utiliza a string de conexão retornada pelo comando anterior.
mongo "mongodb+srv://getstarted.example.mongodb.net" --username User1 --password ChangeThisPasswordToSomethingSecure
Por exemplo, considere o seguinte arquivo chamado template.tmpl
:
Projects: {{range .Results}}{{.ID}} {{end}}
O comando a seguir usa o arquivo template.tmpl
para recuperar as IDs dos projetos na organização especificada usando o perfil padrão:
mongocli iam projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template-file="template.tmpl"
O comando anterior retorna a seguinte saída:
Projects: 5e2211c17a3e5a48f5497de3 5f455b39749bea5fb575dccc
json-path
Tipo de saída
O tipo de saída json-path
limita os resultados de um comando aos campos que você especifica.
Uso
Ao adicionar a opção --output
a um comando, você pode especificar o tipo json-path
. Você deve fornecer a json-path
uma expressão para avaliar em relação aos seus resultados, o que significa que você deve estar ciente dos campos json
retornados pelo seu comando.
Sintaxe
<command> --output|-o json-path='$<expression>'
json-path
expressões referem-se ao elementoJSON que um comando MongoDB CLI retorna. O caractere $
representa o elemento raiz, que geralmente é um objeto ou uma array.
Para obter uma lista de caracteres válidos e suas funções, consulte Expressões JSONPath.
Exemplos
Retornar a descrição da primeira chave API em uma lista
No exemplo a seguir, um usuário recupera suas chaves de API com a lista de apiKeys da organizações mongocli iam. A expressão json-path
limita a saída ao campo desc
da primeira chave, em vez de retornar toda a lista de chaves.
mongocli iam organization apikeys list --output json-path='$[0].desc' owner_key
A execução do mesmo comando com --output json
retorna o elemento JSON completo da API. É importante entender a estrutura JSON retornada por um comando para operá-la com json-path
.
Utilizando a seguinte saída JSON completa como referência, o --output json-path
com a expressão $[0].desc
localiza e retorna somente o valor "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" }, ]
Retornar a descrição de uma chave API específica em uma lista
No exemplo a seguir, um usuário recupera suas chaves de API com a lista de apiKeys da organizações mongocli iam. A expressão json-path
limita a saída ao campo desc
do objeto JSON específico com id
d2c9ccf2d1960e736a95d585
.
mongocli iam organization apikeys list --output json-path='$[? @.id=="d2c9ccf2d1960e736a95d585"].desc' member_key
Retorne o status de um endpoint privado
No exemplo a seguir, um usuário recupera informações para um endpoint privado com mongocli-atlas-privateEndpoints-aws-describe
. A expressão json-path
limita a saída ao campo status
do elemento raiz.
mongocli atlas privateendpoint aws describe 601a4044da900269480a2533 --output json-path='$.status' WAITING_FOR_USER