Conectarse a una fuente de datos de MongoDB - Amazon Managed Grafana

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conectarse a una fuente de datos de MongoDB

La fuente de datos de MongoDB le permite visualizar datos de MongoDB en Grafana gestionada por Amazon.

nota

Esta fuente de datos es solo para Grafana Enterprise. Para obtener más información, consulte Gestione el acceso a los complementos empresariales.

Además, en los espacios de trabajo compatibles con la versión 9 o posterior, es posible que esta fuente de datos requiera la instalación del complemento adecuado. Para obtener más información, consulte Amplía tu espacio de trabajo con complementos.

Uso

Editor de consultas

El editor de consultas admite la misma sintaxis que el Shell de MongoDB, con algunas limitaciones: * Solo puede ejecutar un comando/consulta. * Solo se admiten los comandos de lectura: buscar y agregar * La mayoría de los constructores de objetos no son compatibles (con la excepción de ISODate, que sí es compatible)

El editor amplía la sintaxis de MongoDB Shell de las siguientes maneras:

  • Selección de base de datos: puede introducir el nombre de la base de datos en lugar de la «db» normal:

    nota

    Puede seguir utilizando «db». Hará referencia a la base de datos predeterminada de su cadena de conexión.

    sample_mflix.movies.find()
  • Clasificación de agregados: normalmente, la clasificación se realiza con un paso dentro del proceso de agregación, sin embargo, el nivel gratuito de MongoDB Atlas no permite la clasificación. Hemos ampliado la sintaxis para que sea accesible a los usuarios de la capa gratuita.

    nota

    MongoDB no realiza la ordenación con esta sintaxis. La ordenación se produce después de consultar los resultados de la colección.

    sample_mflix.movies.aggregate({}).sort({"time": 1})
  • Con un editor en blanco, Ctrl + Space mostrará una selección de todas las bases de datos disponibles.

  • Al introducir un punto después de la base de datos, se mostrará una selección de todas las colecciones disponibles para esa base de datos.

  • Al introducir un punto después de la colección, se mostrarán los métodos de consulta disponibles.

  • Al introducir un punto después del método de consulta, se mostrarán funciones adicionales: ordenar/limitar.

Ejecutando la consulta

Pulse Cmd + S para ejecutar la consulta

Serie temporal

Al visualizar datos de series temporales, el complemento necesita saber qué campo usar como hora. Basta con proyectar el campo con el alias «time». El tipo de datos del campo debe ser una fecha.

Puede forzar a los tipos de datos que no son de fecha a usar la fecha. Si lo hace, permitirá utilizar campos que no sean de fecha como series temporales. El siguiente ejemplo muestra cómo convertir el campo int «year» en una fecha que se proyecta como «hora» mediante el operador de canalización MongoDB $dateFromParts .

sample_mflix.movies.aggregate([ {"$match": { "year": {"$gt" : 2000} }}, {"$group": { "_id": "$year", "count": { "$sum": 1 }}}, {"$project": { "_id": 0, "count": 1, "time": { "$dateFromParts": {"year": "$_id", "month": 2}}}} ] ).sort({"time": 1})

Diagnóstico

Comandos de diagnóstico

Actualmente se admiten los siguientes comandos de diagnóstico: «stats», «ServerStatus», "Status», «GetLog», "«, «replSetGetConnectionStatus», connPoolStats «BuildInfo», «dbStats», «HostInfo», «LockInfo»

Ejemplos:

admin.connectionStatus() // run the connectionStatus command admin.connectionStatus({"authInfo.authenticatedUserRoles": 1}) // run and only return the "authInfo.authenticatedUserRoles" field admin.connPoolStats({arg: "pool"}) // run the connPoolStats command and pass 1 argument admin.serverStatus({args: {repl: 0, metrics:0}}) // run the serverStatus command and pass multiple args

Macros

Puede hacer referencia al intervalo de tiempo del panel de control en sus consultas.

  • $__timeFrom — una macro que hace referencia a la hora de inicio del panel

  • $__timeTo — una macro que hace referencia a la hora de finalización del panel

$__timeTo - ``` sample_mflix.movies.find({released: {$gt: "$__timeFrom"}}).sort({year: 1})

Variables de plantilla

MongoDB apoya la idea de las «variables compuestas», que permiten utilizar una variable como variables múltiples para realizar filtros complejos de varias teclas.

Para crear una variable compuesta, utilice la convención de nomenclatura consistente en dividir las variables mediante guiones bajos (debe empezar por un guión bajo): _var1_var2 al realizar una consulta, la respuesta debe tener el siguiente formato: val1-val2

Ejemplo: quiero filtrar los resultados por el nombre y el año de la película.
  1. Cree una variable de tipo Query: _movie_year

  2. Establezca la consulta de variables en una consulta que devuelva una matriz de elementos con una propiedad de año de película, como se muestra en el siguiente ejemplo.

    // Example sample_mflix.movies.aggregate([ {"$match": {year: {"$gt": 2011}}}, {"$project": {_id: 0, movie_year: {"$concat": ["$title", " - ", {"$toString":"$year"}]}}} ])
    // [{"movie-year": "Ted - 2016"}, {"movie-year": "The Terminator - 1985"}]
  3. Ahora, en la consulta, puede hacer referencia a «Película» y «Año» como variables de plantilla independientes mediante la sintaxis «$_variable».

Uso de filtros ad-hoc

Además de la variable de tipo «filtro ad-hoc» estándar con cualquier nombre, se debe crear una segunda variable auxiliar. Debe ser de tipo «constante» con el nombre `mongodb_adhoc_query` y un valor compatible con el editor de consultas. El resultado de la consulta se utilizará para rellenar los filtros seleccionables. Puede optar por ocultar esta variable de la vista, ya que no tiene ningún otro propósito.

sample_mflix.movies.aggregate([ {"$group": { "_id": "$year"}}, {"$project": { "year": "$_id","_id": 0 }} ] )