Introducción
Una guía paso a paso para ayudarte a abrir, usar y validar la pantalla Watch — el monitor de change streams en vivo integrado en NoSqlStudio. Sigue del Paso 1 hasta el final, en orden. Cada paso te dice qué hacer y qué vas a ver.
Cómo leer este manual
Cada paso tiene:
- Haz — la acción exacta (hacer clic, escribir, ejecutar tal comando).
- Mira — qué debe ocurrir en pantalla. Este es tu “pasa / falla”.
- Por qué — contexto adicional, solo cuando ayuda (sáltalo si vas con prisa).
Antes de empezar
Concepto
Qué es Watch
Watch muestra cada inserción, actualización, eliminación y otros cambios que suceden en tu base de datos en tiempo real, como tarjetas que se deslizan dentro de una línea de tiempo. Está construido sobre los change streams de MongoDB.
Atención
Watch requiere un replica set
Los change streams son una funcionalidad de replica set. Watch funciona con clústeres de MongoDB Atlas y con replica sets autoalojados, pero no con un servidor standalone. Apuntar Watch a un servidor standalone se cubre en el Paso 30.
Vas a necesitar:
- 1Un replica set MongoDB conectado — un clúster Atlas o un replica set autoalojado.
- 2Una segunda pestaña donde puedas ejecutar comandos en el shell — el Scratchpad o la pestaña del Mongo Shell — para generar cambios.
- 3En los comandos de shell de abajo, reemplaza
<database>y<collection>con nombres propios tuyos. Ejecuta siempreuse <database>primero para que el comando corra contra la base correcta.
Tiempo estimado para el recorrido completo: ~20 minutos.
Tu primer cambio observado
Abre Watch y confirma que un único cambio llega a la línea de tiempo.
Conéctate a un replica set
Conecta NoSqlStudio a un replica set MongoDB o clúster Atlas, usando tu connection string — por ejemplo mongodb+srv://<user>:<password>@<cluster-host>/.
La conexión se abre y aparece en la barra lateral.
Abre Watch Deployment
En la barra de herramientas, elige Monitoring ▼ → Watch for Changes → Watch Deployment.
Se abre una nueva pestaña con una cabecera 🎥, una píldora de estado LIVE verde pulsante y un mini-mapa del clúster que muestra el nodo PRIMARY en verde junto a sus secondaries.
Inserta un documento de prueba
En otra pestaña (el Scratchpad), selecciona una base de datos e inserta un documento. Ejecuta el comando use primero:
use <database>
db.test_cw.insertOne({ hello: "test1", n: 1 })Mira llegar el cambio
Vuelve a la pestaña de Watch.
En aproximadamente un segundo, una tarjeta verde 🟢 Insert para <database>.test_cw se desliza hacia la parte superior de la línea de tiempo.
Este es el núcleo de la herramienta — el stream en vivo está conectado y entregando los cambios. ✅
Filtrar y exportar
Genera tráfico en varias colecciones
Ejecuta algunos inserts en distintas colecciones:
use <database>
db.orders.insertOne({ item: "book" })
db.users.insertOne({ name: "Ana" })
db.test_cw.insertOne({ n: 1 })Se desliza una tarjeta por cada insert.
Filtra la línea de tiempo
Escribe el nombre de una colección (por ejemplo orders) en el campo 🔍 filter de la cabecera.
Solo permanecen visibles los eventos cuyo namespace coincide con el texto. Limpia el campo para volver a mostrar todo.
Exporta los eventos
Con el filtro limpio, haz clic en 📥 Export.
Los eventos visibles se guardan como un archivo .ndjson en tu carpeta de Descargas.
Concepto
NDJSON. Un documento JSON por línea — el formato natural para un stream de eventos, fácil de reimportar o de hacer grep.
Grabación y replay
Inicia una grabación
En el panel derecho, encuentra la tarjeta 🎬 Recording y activa el toggle.
La tarjeta cambia al estado de grabación.
Genera eventos mientras grabas
Ejecuta algunos cambios en otra pestaña:
use <database>
db.test_cw.insertOne({ n: 1 })
db.test_cw.insertOne({ n: 2 })
db.test_cw.insertOne({ n: 3 })La tarjeta muestra un contador en vivo, como recording • 3 events.
Detén la grabación
Desactiva el toggle 🎬 Recording.
La grabación se descarga automáticamente como un archivo .ndjson.
Reproduce una grabación desde un archivo
Haz clic en 📂 Open recording y selecciona el archivo .ndjson que acabas de guardar.
La cabecera recibe un distintivo morado 📂 replay (file) y los eventos grabados vuelven a la línea de tiempo.
Sal del modo replay
Haz clic en el ✕ del distintivo morado de replay.
El modo replay termina y el stream en vivo se reanuda.
Reproduce el pasado reciente
En la tarjeta ⏪ Replay, haz clic en Go back 5 minutes.
El stream se reabre comenzando unos minutos en el pasado, así ves los cambios que ya ocurrieron.
Atención
Esto solo funciona si el oplog del clúster aún conserva ese historial. En un clúster con mucho tráfico, la ventana del oplog puede ser menor a 5 minutos.
Webhooks y alertas
Watch puede reenviar cambios a una URL externa y disparar alertas de escritorio sobre una regla.
Consigue una URL de webhook de prueba
Abre https://webhook.site en tu navegador y copia la URL única que te entrega (formato https://webhook.site/<uuid>).
Agrega el webhook
En la tarjeta 📡 Webhooks, pega la URL y haz clic en + Add.
El webhook aparece en la lista.
Configura el webhook
Haz clic en el ⚙ del webhook para expandir sus ajustes. Cambia el método HTTP a PUT, agrega una cabecera Authorization con el valor Bearer xxx y, en los chips de evento, selecciona solo 🔴 Delete.
El webhook ahora está configurado para disparar solo en deletes, como una solicitud PUT con tu cabecera.
Insert — no se reenvía nada
Ejecuta un insert:
use <database>
db.test_cw.insertOne({ foo: 1 })webhook.site no recibe nada — el webhook está filtrado solo a deletes.
Delete — el webhook dispara
Ejecuta un delete:
use <database>
db.test_cw.deleteOne({ foo: 1 })webhook.site recibe una solicitud PUT con la cabecera Authorization: Bearer xxx y el evento del cambio como EJSON en el cuerpo. La tarjeta muestra ✓ 1 sent.
Crea una alerta
En la tarjeta 🔔 Alerts, dale un nombre a la alerta (por ejemplo Deleted test), define el patrón de namespace como una expresión regular — ^.*\.test_cw$ — y haz clic en + Create alert.
La alerta aparece en la lista.
Acota la alerta
Haz clic en el ⚙ de la alerta y, en los chips de evento, selecciona solo 🔴 Delete.
La alerta ahora dispara solo en deletes que coinciden con el patrón.
Dispara la alerta
Ejecuta otro delete:
use <database>
db.test_cw.deleteOne({ n: 1 })La primera vez, el sistema pide permiso de notificación — concédelo una vez. Luego aparece una notificación nativa de escritorio, suena un sonido y el historial de la alerta registra el hit.
Concepto
La grabación no necesita estar activa para que las alertas funcionen — las alertas se evalúan de forma independiente, y su historial se mantiene por separado.
Sonido y el mini-mapa del clúster
Activa el sonido
En la cabecera, haz clic en 🔔 Sound off para que pase a Sound on.
Escucha un insert
Ejecuta un insert:
use <database>
db.test_cw.insertOne({ n: 10 })Suena un pitido corto y agudo.
Escucha un delete
Ejecuta un delete:
use <database>
db.test_cw.deleteOne({ n: 10 })Suena un pitido grave — un tono distinto al del insert, así puedes distinguir los cambios de oído.
Mira pulsar el mini-mapa
En el mini-mapa del clúster, el nodo verde PRIMARY pulsa con un anillo que se expande cada vez que llega un evento.
Comportamientos y casos límite
Persistencia
Cierra la pestaña de Watch (el ✕ del título de la pestaña) y vuelve a abrirla desde el menú.
Tus webhooks, alertas, ajuste de sonido y tamaño de buffer siguen todos ahí.
Refresca la lista de bases
Crea una nueva base de datos en otra pestaña, luego haz clic en 🔄 Refresh en la cabecera de Watch.
La nueva base aparece en el desplegable de alcance.
Tamaño de buffer
Escribe 50 en el campo Buffer de la cabecera.
Solo quedan visibles los 50 eventos más recientes — las tarjetas más antiguas se descartan.
Limpieza al cambiar de alcance
Con un stream corriendo en el alcance 🌐 Cluster, cambia a 🗄 una sola base.
La línea de tiempo se limpia y el stream se reinicia para el nuevo alcance.
Error humanizado en un standalone
Conéctate a un servidor MongoDB standalone (no a un replica set) e intenta Watch Deployment.
Un mensaje claro y amable explica que Watch requiere un replica set — no un error crudo del servidor como “$changeStream stage is only supported…”.
El menú nativo Tools
Abre Watch desde el menú Tools
Usa el menú nativo: Tools → Change Watcher → Watch Deployment (atajo de teclado Ctrl+Alt+W).
La pestaña de Watch se abre, igual que desde la barra de herramientas.
Atención
El menú nativo se construye al iniciar la app. Después de una recarga in-app (Ctrl+R) el menú puede quedar desactualizado — reinicia NoSqlStudio por completo para ver los cambios del menú.
Limpieza (cuando termines)
Detén el stream con el botón Stop de la cabecera, luego elimina la colección de prueba:
use <database>
db.test_cw.drop()El stream se detiene y la colección de prueba desaparece.
Resumen de lo que validaste
| Etapa | Funcionalidad |
|---|---|
| 1 | Abrir Watch y ver un cambio en vivo llegar a la línea de tiempo |
| 2 | Filtrar la línea de tiempo y exportar eventos como NDJSON |
| 3 | Grabar eventos, reproducir desde un archivo y reproducir el pasado reciente |
| 4 | Webhooks (método, cabeceras, filtro de eventos) y alertas de escritorio |
| 5 | Señales sonoras por tipo de evento y el pulso del mini-mapa del clúster |
| 6 | Persistencia, refresh, buffer, limpieza al cambiar de alcance, errores humanizados |
| 7 | La entrada del menú nativo Tools y su atajo |