Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Limitaciones de Trigger

Hay varias directrices a tener en cuenta al estructurar cómo interactúan tus herramientas y clientes con MongoDB a través de Triggers. Ten en cuenta esta orientación al decidir cómo estructurar queries, seleccionar las operaciones CRUD y de agregación adecuadas, y determinar cómo gestionar las cargas de trabajo simultáneas.

Los disparadores admiten todas las etapas del pipeline de agregación en funciones del sistema, excepto $currentOp y $indexStats.

Por razones de seguridad, solo se admite un subconjunto de etapas del pipeline de agregación en funciones de usuario.

Para obtener una lista de las etapas de la pipeline que están disponibles y su contexto de función permitido, consulta agregación.

Cuando se cargan datos en bloque o agrupar en MongoDB Atlas, puede haber un retraso en la aparición de los datos en los dispositivos mientras Atlas procesa los cambios.

No se puede definir activadores de base de datos en una colección de series de tiempo. Esto se debe a que las colecciones de series temporales aún no admiten corrientes de cambio.

No puedes definir activadores de base de datos en un clúster flexible. Esto se debe a que los clústeres flexibles no soportan cambios de flujo.

No puede definir activador de base de datos en una instancia federada de base de datos porque las instancias de base de datos federada no soportan streams de cambios.

Atlas limita el número total de flujos de cambios abiertos en un clúster determinado en función del tamaño del clúster. La siguiente tabla muestra las limitaciones para cada tamaño de clúster:

Tamaño de clúster
Número máximo de flujos de cambios

clúster gratuito

5

Clústeres Flex

10

Pequeños, Clústeres Dedicados (M10/M20)

100

Clústeres estándar (M30/M40)

1000

Clusters estándar (M50 - M90)

1000

Clústeres de alta potencia (M100+)

1000

Nota

Atlas abre un único flujo de cambios en cada colección que está asociada con un activador de base de datos.

Puedes llamar a un subconjunto limitado de comandos de base de datos cuando estés conectado a un clúster de MongoDB mediante el protocolo de conexión. Para obtener una lista de comandos compatibles, consulta Comandos de base de datos.

Nota

App Services no admite ningún comando de base de datos en Atlas Funciones.

Puedes acceder a la mayor parte de la funcionalidad CRUD y de Agregación de MongoDB versión 3.6. Sin embargo, Triggers no admite todas las operaciones y funcionalidades disponibles en las herramientas y clientes estándar. Para obtener una lista de operaciones específicas de MongoDB que están disponibles cuando te conectas a MongoDB a través de Triggers, consulta la referencia de la API CRUD y Agregación.

Los triggers admiten todas las opciones de query en funciones de sistema. Para obtener una lista de las opciones específicas disponibles cuando se conecta a MongoDB a través de Triggers, consulte la Opciones de Query.

Las consultas de MongoDB ejecutadas a través de Triggers pueden devolver un máximo de 50,000 documentos. Si necesitas devolver más documentos, considera paginar tu query.

Atlas limita el tráfico de solicitudes a los siguientes valores por defecto:

  • 10,000 solicitudes concurrentes. Cualquier solicitud realizada que supere el límite de solicitudes concurrentes recibe un código de estado HTTP de 429 - Demasiadas Solicitudes.

Atlas puede gestionar solicitudes muchas veces mayores que los límites mencionados anteriormente. Sin embargo, estos límites se establecen para garantizar que las aplicaciones escalen de manera responsable y para prevenir ataques DOS y cargos de facturación no intencionados.

Puedes solicitar un límite superior presentando un ticket de soporte.

Atlas utiliza un agrupamiento de conexiones para reducir la sobrecarga que supone abrir y cerrar conexiones con frecuencia entre peticiones y ejecuciones de activador. Las conexiones se abren según sea necesario. El agrupamiento de conexiones depende de varios factores:

  • Nivel de clúster. Cuanto mayor sea el nivel del clúster, más conexiones estarán disponibles en el pool.

  • Modo de implementación. Las implementaciones globales utilizan varios servidores en cada región y, por lo tanto, tienen un pool de conexiones general más grande.

  • Servicios. Cada servicio tiene un pool de conexiones independiente, por lo que la cantidad de servicios en tu aplicación no afecta el número de conexiones disponibles.