Puede personalizar los campos de salida y el formato de la CLI de MongoDB utilizando un Go
plantilla o una ruta JSON.
Go templates
Puede especificar la plantilla Go con el comando para una salida simple o mediante un archivo independiente para una salida compleja. Para obtener información sobre la plantilla, consulte Plantilla de paquetePara obtener información sobre los tipos y propiedades disponibles para cada respuesta, consulte:
Sintaxis
Puede especificar una plantilla con el comando usando la opción --output o -o:
--output|-o go-template="{{<template>}}"
Puede especificar una plantilla utilizando un archivo usando la opción --output o -o:
--output|-o go-template-file="<path-to-template-file>"
Ejemplos
Recuperar el número de proyectos
El siguiente comando utiliza la plantilla para recuperar un recuento de la cantidad de proyectos en la organización especificada utilizando la perfil predeterminado:
mongocli iam projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template="Count: {{.TotalCount}}"
El comando anterior devuelve el siguiente resultado:
Count: 2
Recuperar tu cadena de conexión del clúster de Atlas
El siguiente comando mongocli-atlas-clusters-describe usa la plantilla para recuperar la cadena de conexión de un clúster de Atlas llamado getStarted. Utiliza el perfil predeterminado para acceder a Atlas.
mongocli atlas clusters describe getStarted -o go-template="Parse: {{.SrvAddress}}"
El comando anterior devuelve una cadena similar a la siguiente:
Parse: mongodb+srv://getstarted.example.mongodb.net
Puedes usar MongoDB Shell, mongosh, para conectarte al clúster getStarted con el srvAddress y la cadena de conexión. Este ejemplo usa la cadena de conexión retornada por el comando anterior.
mongo "mongodb+srv://getstarted.example.mongodb.net" --username User1 --password ChangeThisPasswordToSomethingSecure
Por ejemplo, considere el siguiente archivo llamado template.tmpl:
Projects: {{range .Results}}{{.ID}} {{end}}
El siguiente comando utiliza el archivo template.tmpl para recuperar los IDs de los proyectos en la organización especificada utilizando el perfil por defecto:
mongocli iam projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template-file="template.tmpl"
El comando anterior devuelve el siguiente resultado:
Projects: 5e2211c17a3e5a48f5497de3 5f455b39749bea5fb575dccc
json-path Tipo de salida
El tipo de salida json-path limita los resultados de un comando a los campos que usted especifique.
Uso
Cuando se agrega la opción --output a un comando, se puede especificar el tipo json-path. Debes proporcionar a json-path una expresión para evaluar tus resultados, lo que significa que debes conocer los campos json devueltos por tu comando.
Sintaxis
<command> --output|-o json-path='$<expression>'
json-path Las expresiones se refieren a la ElementoJSON que devuelve un comando CLI de MongoDB. El $ carácter representa el elemento raíz, que suele ser un objeto o una matriz.
Para obtener una lista de caracteres válidos y sus funciones, consulte Expresiones JSONPath.
Ejemplos
Devuelve la descripción de la primera clave API en una lista
En el siguiente ejemplo, un usuario recupera sus claves de API con la lista apiKeys de organizaciones iam de mongocli. La json-path expresión limita la salida al desc campo de la primera clave, en lugar de devolver la lista completa de claves.
mongocli iam organization apikeys list --output json-path='$[0].desc' owner_key
Al ejecutar el mismo comando con,--output json se devuelve el elemento JSON completo de la API. Es importante comprender la estructura JSON que devuelve un comando para poder operar con él json-path con.
Usando la siguiente salida JSON completa como referencia,--output json-path con la expresión $[0].desc encuentra y devuelve solo el "owner_key" valor:
[ //``$`` 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" }, ]
Devuelve la descripción de una clave API específica en una lista
En el siguiente ejemplo, un usuario recupera sus claves de API con la lista apiKeys de organizaciones iam de mongocli. La json-path expresión limita la salida al desc campo del objeto JSON específico id d2c9ccf2d1960e736a95d585 con.
mongocli iam organization apikeys list --output json-path='$[? @.id=="d2c9ccf2d1960e736a95d585"].desc' member_key
Devolver el estado de un punto final privado
En el siguiente ejemplo, un usuario recupera información para un punto final privado con mongocli-atlas-privateEndpoints-aws-describe. La expresión json-path limita la salida al campo status del elemento raíz.
mongocli atlas privateendpoint aws describe 601a4044da900269480a2533 --output json-path='$.status' WAITING_FOR_USER