Ir al contenido

MongoDB y Redis

Los motores que no son SQL tienen sus propios runners, adaptados a su modelo de datos en lugar de forzarlos a una cuadrícula de tabla. La exploración de ambos se cubre en Explorar tus datos; esta página trata sobre la ejecución de comandos.

Ambos runners requieren el rol Editor y quedan registrados en la tabla de auditoría db_query_log.

El Mongo Shell ejecuta un script mongosh arbitrario contra la base de datos seleccionada. Es un panel plegable debajo del explorador de colecciones, cerrado por defecto.

  • Pier antepone a tu script db = db.getSiblingDB("<base de datos seleccionada>"), de modo que db se refiere a la base de datos que elegiste — y luego ejecuta el resto tal cual.
  • Los scripts se ejecutan a través de mongosh dentro del contenedor del servicio (vía docker-exec), autenticándose como el usuario root desde el entorno cifrado del servicio. No hay un driver nativo de Mongo en el binario de Pier.
  • La salida textual del shell se devuelve tal cual, de modo que print(...), printjson(...) y el resultado implícito de una expresión aparecen todos.

Scripts de ejemplo:

// count documents in a collection
db.getCollection("orders").countDocuments({ status: "paid" })
// find with a projection
db.getCollection("users").find({ active: true }, { email: 1 }).limit(5).toArray()
// an aggregation
db.getCollection("events").aggregate([
{ $group: { _id: "$type", n: { $sum: 1 } } },
{ $sort: { n: -1 } }
]).toArray()

Para la exploración de solo lectura (bases de datos, colecciones, documentos paginados como EJSON) solo necesitas Viewer — consulta Explorar tus datos.

La vista de Redis combina el explorador de claves con una caja de comandos que ejecuta un único comando en crudo y renderiza la respuesta como JSON.

  • Escribe un comando como GET mykey, HGETALL session:42 o TTL token:abc y ejecútalo.
  • La línea de comandos se tokeniza con soporte para comillas dobles, así que SET greeting "hello world" mantiene intacto el argumento entrecomillado.
  • Las respuestas se convierten a JSON: bulk strings, enteros, arrays/sets, maps y OK se mapean todos a su forma natural en JSON.
  • El índice de base de datos (0–15) seleccionado se aplica al comando, igual que en el explorador de claves.

Las lecturas a través del explorador de claves (SCAN, GET/LRANGE/HGETALL/… según el tipo, TTL) solo necesitan Viewer; ejecutar un comando arbitrario necesita Editor, ya que un comando puede modificar o eliminar datos.