Este ejemplo de uso demuestra cómo configurar un conector de origen de MongoDB Kafka para escuchar eventos de cambio en varias colecciones de MongoDB y publicarlos en un tema de 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 configuraciones de database y collection también determinan a qué bases de datos y colecciones el conector escucha los eventos de cambio. Para obtener más información sobre estas configuraciones, consulte la
Guía de Propiedades de conexión de origen de MongoDB.
Ejemplos
Los siguientes ejemplos muestran cómo usar una pipeline de agregación para seleccionar nombres específicos de bases de datos o colecciones en los que escuchar eventos de cambio.
Incluir eventos de cambio de varias bases de datos
Puedes definir una pipeline de agregación para seleccionar solo eventos de cambio en múltiples bases de datos especificando lo siguiente en la configuración de 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 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)$/"}}}]
Excluir eventos de cambio de varias colecciones
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
$matchEl campo
ns.coll, que identifica la parte de colección del namespaceEl operador
$regexy una expresión regular que coincida con los nombres de la colecciónEl operador
$notque instruye al operador$regexque 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$/"}}}}]
Información Adicional
Sintaxis de expresiones regulares usando la clase Patterns