Menu Docs
Página inicial do Docs
/ /
MongoDB CLI
/

Personalizar a saída do MongoDB CLI

Nesta página

  • Go templates
  • json-path Tipo de saída

Você pode personalizar o campo de saída e o formato da MongoDB CLI usando um modelo Go ou um caminho JSON.

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:

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>"

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

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

O tipo de saída json-path limita os resultados de um comando aos campos que você especifica.

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.

<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.

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"
},
]

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

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

Voltar

Habilitar preenchimento automático