00:00 / 00:00

Fecha publicación: 8 jun 2021

Mongo Compass Aggregations extras

En el paso anterior vimos como crear una query usando el tooling que nos da Mongo Compass, todo esto tiene mucho azúcar, pero... si me manejo bien con un editor de texto que formatee json/js ¿qué me aporta esta herramienta?

Sacándole jugo a Mongo Compass

Vamos a jugar con la query que hemos visto, lo primero, ¿Sabes que puedes desactivar un stage del aggregation y dejar pasar el anterior?

Disable stage

Por otro lado, también puedes reordenar los stages haciendo drag & drop fíjate como cambia el resultado, moviendo el stage $sort antes del $limit

Drag & Drop stage

Otro caso interesante, vale ya estoy listo con la query, ahora la quiero copiar y pegar, ¿Cómo puedo extraerla? Le doy al botón de exportar y aquí la tienes en formato crudo o si quieres, preparada para usarla en tu lenguaje favorito.

Exportar query a texto

Export query a texto, diálogo modal

Vamos a copiar esta query, pegarla en la consola de Compass y ejecutarla, antes seleccionaremos la base de datos myMovies

Copiar resultado export a consola mongo y ver resultados

use mymovies

Y pegamos el contenido que nos ha dado la opción export.

[{
    $match: {
        year: 2010
    }
}, {
    $limit: 5
}, {
    $sort: {
        title: 1
    }
}, {
    $project: {
        title: 1,
        rating: "$imdb.rating"
    }
}]

¿Y si quiero meter en la herramienta una query que he creado desde un editor de texto? Sólo tienes que importarla, si pinchamos al lado del botón "+" verás una opción que dicen "New Pipeline from Text", esto nos permite pegar un texto con una query, Mongo Compass la parsea y te la monta en su interfaz de usuario.

p2_new_pipeline.png

New pipeline from text

Otros temas que también te puede ser interesantes:

  • Puedes grabar una consulta.
  • Puedes tener multiples tabs abiertos, así puedes jugar con varias consultas a la vez.

Espero haberte convencido, y que estos vídeos te ahorren más de un dolor de cabeza cuando vayas a montar tus consultas agregadas.

¿Con ganas de aprender Backend?

En Lemoncode impartimos un Bootcamp Backend Online, centrado en stack node y stack .net, en él encontrarás todos los recursos necesarios: clases de los mejores profesionales del sector, tutorías en cuanto las necesites y ejercicios para desarrollar lo aprendido en los distintos módulos. Si quieres saber más puedes pinchar aquí para más información sobre este Bootcamp Backend.