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 detecte eventos de cambio en un conjunto más específico de bases de datos y colecciones, puede usar una canalización. Una canalización es una canalización de agregación de MongoDB compuesta por instrucciones dirigidas a la base de datos para filtrar o transformar datos. Consulte la siguiente sección para ver ejemplos de cómo configurar su conector. pipeline configuración para hacer coincidir múltiples 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íade propiedades de conexión de origen de MongoDB.
Ejemplos
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.
Incluir eventos de cambio de múltiples bases de datos
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
$matchEl campo
ns.db, que identifica la parte de la base de datos del espacio de nombresEl operador
$regexy una expresión regular que coincida con los nombres de las bases de datos
La siguiente configuración de ejemplo muestra cómo puede configurar su conector de origen para escuchar eventos de cambio en las bases de datos sandbox y firewall:
pipeline=[{"$match": {"ns.db": {"$regex": "/^(sandbox|firewall)$/"}}}]
Excluir eventos de cambio de varias colecciones
Puede definir una canalización de agregación para ignorar eventos de cambio en múltiples colecciones especificando lo siguiente en la configuración pipeline:
Un operador de agregación
$matchEl campo
ns.coll, que identifica la parte de colección del espacio de nombresEl operador
$regexy una expresión regular que coincida con los nombres de colecciónEl operador
$notque indica al operador$regexque lo encierra que coincida con todo aquello con lo que la expresión regular no coincide
La siguiente configuración de ejemplo muestra cómo puede configurar su conector de origen para filtrar eventos de cambio que se originan en todas las colecciones denominadas "hiperespacio" en cualquier base de datos:
pipeline=[{"$match": {"ns.coll": {"$regex": {"$not": "/^hyperspace$/"}}}}]
Información Adicional
Sintaxis de expresiones regulares utilizando la clase Patterns