Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Escuche los cambios en múltiples fuentes

Este ejemplo de uso demuestra cómo configurar un conector de origen MongoDB Kafka para escuchar eventos de cambio en múltiples colecciones MongoDB y publicarlos en un tema Kafka.

Si necesita que su conector escuche los eventos de cambio en un conjunto más específico de bases de datos y colecciones, puede utilizar una pipeline. Un pipeline es un pipeline de agregación de MongoDB compuesto por instrucciones a la base de datos para filtrar o transformar datos. Consulta la siguiente sección para ver ejemplos sobre cómo configurar tu conector pipeline configuración para coincidir con varios nombres de bases de datos y colecciones mediante una expresión regular.

Nota

Las opciones de configuración database y collection también afectan las bases de datos y colecciones en las que el conector escucha eventos de cambio. Para obtener más información sobre estas opciones, consulte Guía de Propiedades de conexión de origen de MongoDB.

Los siguientes ejemplos le muestran cómo utilizar una canalización de agregación para seleccionar nombres de bases de datos o colecciones específicas en las que escuchar eventos de cambio.

Puede definir una canalización de agregación para seleccionar solo eventos de cambio en múltiples bases de datos especificando lo siguiente en la configuración pipeline:

  • Un operador de agregación $match

  • El campo ns.db, que identifica la parte de la base de datos del espacio de nombres

  • El operador $regex y una expresión regular que coincide con los nombres de las bases de datos

La siguiente configuración de ejemplo muestra cómo puede configurar su conector de origen para que escuche eventos de cambio en las bases de datos sandbox y firewall:

pipeline=[{"$match": {"ns.db": {"$regex": "/^(sandbox|firewall)$/"}}}]

Puedes definir una pipeline de agregación para omitir los eventos de cambio en varias colecciones especificando lo siguiente en la configuración pipeline:

  • Un operador de agregación $match

  • El campo ns.coll, que identifica la parte de colección del namespace

  • El operador $regex y una expresión regular que coincida con los nombres de la colección

  • El operador $not que instruye al operador $regex que lo encierra para que coincida con todo lo que la expresión regular no coincida

La siguiente configuración de ejemplo muestra cómo puedes configurar tu conector de origen para filtrar los eventos de cambio que se originan en todas las colecciones llamadas "hiperspace" en cualquier base de datos:

pipeline=[{"$match": {"ns.coll": {"$regex": {"$not": "/^hyperspace$/"}}}}]
  • La Operador de agregación $match

  • Eventos de cambio de MongoDB

  • Espacio de nombres de MongoDB

  • Sintaxis de expresiones regulares usando la clase Patterns

  • $not operador del query lógico y expresiones regulares

Volver

Tubería personalizada