MongoDB (versión preliminar)
MongoDB es una plataforma de datos de documentos distribuida y de uso general que los desarrolladores y usan en las empresas para ejecutar diversas cargas de trabajo. Ahora puede explorar los distintos puntos de conexión y realizar operaciones CRUD y agregaciones en la colección mediante el conector de MongoDB.
Este conector está disponible en los siguientes productos y regiones:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | Todas las regiones de Power Automate excepto las siguientes: - Gobierno de EE. UU. (GCC) - Gobierno de EE. UU. (GCC High) - China Cloud operado por 21Vianet - Departamento de Defensa de EE. UU. (DoD) |
| Aplicaciones lógicas | Estándar | Todas las regiones de Logic Apps excepto las siguientes: - Regiones de Azure Government - Regiones de Azure China - Departamento de Defensa de EE. UU. (DoD) |
| Power Apps | - | No disponible |
| Power Automate | Premium | Todas las regiones de Power Automate excepto las siguientes: - Gobierno de EE. UU. (GCC) - Gobierno de EE. UU. (GCC High) - China Cloud operado por 21Vianet - Departamento de Defensa de EE. UU. (DoD) |
| Contacto | |
|---|---|
| Nombre | Compatibilidad con MongoDB |
| URL | https://www.mongodb.com/community/forums/ |
| Correo Electrónico | support-operations@mongodb.com |
| Metadatos del conector | |
|---|---|
| Publicador | MongoDB Corp |
| Website | https://www.mongodb.com |
| Directiva de privacidad | https://www.mongodb.com/legal/privacy-policy |
| Categorías | Data |
El conector de MongoDB proporciona una manera sencilla de conectarse a MongoDB Atlas a través de las API de datos hospedadas mediante la función de Azure en el inquilino para leer y escribir datos en colecciones de MongoDB Atlas. El conector de MongoDB facilita la realización de operaciones CRUD y agregaciones en los datos en cuestión de minutos y le permite consultar MongoDB para crear flujos de trabajo y aplicaciones enriquecidas en Power Apps, Power Automate y Logic Apps.
*** Tenga en cuenta que MongoDB desusó las API de datos de Atlas desde septiembre de 2025 y, por tanto, use este enfoque de conector para configurar una función de Azure y use sus claves url y API en lugar de las de Atlas en las aplicaciones y flujos. ***
Prerrequisitos
- Configuración del entorno de Atlas
Regístrese aquí para obtener una nueva cuenta de Atlas. Siga los pasos de 1 a 4 (Creación de una cuenta de Atlas, Implementación de un clúster gratuito, Adición de la dirección IP a la lista de acceso a IP y Creación de un usuario de base de datos) para configurar el entorno de Atlas.
Configuración de Azure Functions como Atlas Data API Para configurar la función de Azure que hospedará el código para que actúe como Api de datos de Atlas, tenemos dos opciones : 1. Uso de Acciones de GitHub O 2. Uso de Zip Deploy
Elija el método de acciones de GitHub, si puede bifurcar el repositorio actual, puede tener habilitadas las acciones de GitHub en ese repositorio y que desea agregar más API y preferir una configuración de CI/CD o DevOps de forma predeterminada. Sin embargo, si busca una forma rápida y sencilla de implementar y solo necesita la configuración de la función de Azure para sustituir las API de datos de Atlas, vaya a la opción Implementación zip.
Opción 1: Configuración de la función de Azure mediante acciones de GitHub
a.Bifurcar el repositorio de MongoDB. Anote la nueva dirección URL del repositorio bifurcado. Si las acciones de GitHub NO están habilitadas de forma predeterminada, habilitelas; para ello, vaya a Configuración -> Acciones -> General en el repositorio bifurcado y seleccione una de las opciones Permitir acciones o flujos de trabajo que se pueden volver a usar.
b.Haga clic en el botón Implementar en Azure siguiente para que la función de Azure se cree en el inquilino.
c. Seleccione o cree el grupo de recursos que contendrá la función de Azure y sus componentes asociados (Plan de App Service, Cuenta de almacenamiento y App Insights). Puede mantener el nombre de la función y la SKU como valores predeterminados o cambiar si desea seguir algunos estándares específicos. Se recomienda agregar el nombre del clúster al nombre de la aplicación de funciones para que sea único y fácil de identificar.
Proporcione la dirección URL de conexión de MongoDB para el clúster en el que se ejecutará esta función de Azure. Esta cadena de conexión se guardará como una variable environmnet. Asigne la dirección URL del repositorio bifurcado como repositorio de GitHub. Seleccione Crear y creará la función de Azure con los recursos asociados. Tenga en cuenta que en esta fase se crea la aplicación de funciones, las variables de desarrollo se rellenan, pero la función real aún no se implementa en la aplicación de funciones.
d. Para que las acciones de GitHub se ejecuten desde el repositorio e implementen la función, obtenga el perfil de publicación de la función de Azure creada.
Se descarga, ábralo en un editor de texto y copie todo su contenido.
e. Vaya al repositorio de GitHub -> Configuración -> Secretos y variables -> Acciones Haga clic en Nuevo secreto de respository y copie el valor completo en el perfil de publicación en un nuevo secreto denominado "AZUREAPPSERVICE_PUBLISHPROFILE"
f. Realice un cambio menor en README y Commit Changes (Confirmar cambios ) para invocar acciones de GitHub que implementarían el código de Python en la función de Azure en la aplicación de funciones. Ahora debería ver la función disponible en la aplicación functon y el código en function_app.py implementado.
g. La pestaña Acciones de GitHub en el repositorio de GitHub mostrará los pasos de la implementación (incluida la instalación de dependencias) y el resultado de cada paso.
Opción 2: Configuración de la función de Azure mediante ZipDeploy
a) Haga clic en el botón Implementar en Azure para que la función de Azure se cree en el inquilino.
b. Seleccione o cree el grupo de recursos que contendrá la función de Azure y sus componentes asociados (Plan de App Service, Cuenta de almacenamiento y App Insights). Puede mantener el nombre de la función y la SKU como valores predeterminados o cambiar si desea seguir algunos estándares específicos. Se recomienda agregar el nombre del clúster al nombre de la aplicación de funciones para que sea único y fácil de identificar.
Por favor ** DONOT cambie ** el packageUrl ya que es la dirección URL de SAS de la cuenta de almacenamiento que tiene el archivo ZIP que debe implementarse. Seleccione Crear y creará la aplicación de funciones de Azure, implementará la función de Azure junto con los recursos asociados.
Obtención de credenciales
Obtención de la clave de API y BaseUrl
a) En Function App, seleccione la función y haga clic en Obtener dirección URL de la función . Copie la dirección URL de la función desde el principio hasta antes de "/action", como se muestra en la captura de pantalla siguiente. Esta es la dirección URL base que usará para invocar cualquiera de las API CRUD/Aggregate de MongoDB.
b. Vaya a la aplicación de funciones:> en Functions -> Claves de aplicación , tome el _master o la clave de API predeterminada para la función de Azure Esta es la clave de API que usará junto con la dirección URL base para crear una conexión de MongoDB para invocar cualquiera de las API CRUD/Aggregate de MongoDB.
Introducción al conector
- Una vez completados los requisitos previos, vaya a PowerAutomate -> Conexiones. Haga clic en "Nueva conexión" y busque MongoDB en la barra de búsqueda de la parte superior derecha, como se muestra a continuación en la captura de pantalla.
- Haga clic en la conexión de MongoDB y verá el siguiente elemento emergente que le pide que escriba la clave de API y la dirección URL base.
- En los campos "Dirección URL base" y "Clave de API", escriba los valores recuperados de la sección Obtención de credenciales anterior.
Use una de las 8 API de datos para cualquier operación CRUD en el clúster de MongoDB Atlas. Para consultas complejas, use la API "Ejecutar una canalización de agregación" para usar fases de agregación para masajear la salida de una fase a otra. La flexibilidad y el dinamismo de MongoDB le permiten crear aplicaciones enriquecidas y automatizar los procesos que consumen mucho tiempo. Para mejorar las aplicaciones, agregue más características y campos a la misma colección.
Problemas y limitaciones conocidos
Dado que MongoDB no aplica un esquema, el conector actual solo se puede usar con Power Automate y Logic Apps, que admite el esquema dinámico para la respuesta de la API, que luego se puede analizar mediante las construcciones "Analizar JSON". Se puede usar en Power Apps invocando un flujo de Power Automate para cada interacción de MongoDB. También puede seguir usando el conector de MongoDB certificado desde el repositorio de Microsoft Github como conector personalizado para usarlo directamente en Power Apps para personalizar el esquema de respuesta según el esquema de colección de MongoDB.
Las restricciones aplicables a las operaciones de datos de MongoDB también se aplican al conector de MongoDB. Consulte este vínculo para obtener más información sobre las fases de agregación que no se admiten en el contexto de usuario de las API de datos.
Siga este vínculo para conocer las limitaciones conocidas con las funciones de Azure, como tiempos de espera y otros límites de servicio para cada plan de recursos.
Errores y soluciones comunes
Los códigos de respuesta de API típicos también se aplican aquí. Los errores 4XX indican un problema con la solicitud del cliente. Asegúrese de que la colección dataSource, database, se proporciona en un formato JSON válido. Consulte esta colección de Postman para obtener ejemplos. En el caso de los errores 5XX, asegúrese de que la función de Azure está en funcionamiento y compruebe su seguimiento para investigarlos aún más.
Creación de una conexión
El conector admite los siguientes tipos de autenticación:
| Predeterminado | Parámetros para crear una conexión. | Todas las regiones | No se puede compartir |
Predeterminado
Aplicable: Todas las regiones
Parámetros para crear una conexión.
Esta conexión no se puede compartir. Si la aplicación de energía se comparte con otro usuario, se pedirá a otro usuario que cree explícitamente una nueva conexión.
| Nombre | Tipo | Description | Obligatorio |
|---|---|---|---|
| Clave de API | securestring | La clave de API de esta API | Cierto |
| BaseUrl | cuerda / cadena | Dirección URL de la función de Azure (ejemplo:https://mdb-dataapi-repl.azurewebsites.net/api/mdb_dataapi) | Cierto |
Limitaciones
| Nombre | Llamadas | Período de renovación |
|---|---|---|
| Llamadas API por conexión | 100 | 60 segundos |
Acciones
| Actualizar documento |
Puede usar el punto de conexión updateOne para actualizar un único registro. Use la propiedad filter en el cuerpo de la solicitud para especificar los criterios de búsqueda. Si más de un documento coincide con los criterios, solo se devolverá la primera coincidencia. A continuación, use el campo de actualización para especificar lo que se debe actualizar. Debe usar uno de los operadores de actualización para actualizar los documentos. |
| Actualizar varios documentos |
Con updateMany, puede actualizar todos los documentos que coincidan con un filtro específico especificado en el cuerpo de la solicitud. Use uno de los operadores de actualización del campo de actualización para actualizar los documentos. |
| Buscar documento |
El uso del punto de conexión findOne le permitirá recuperar un único documento de una colección. Use la propiedad filter en el cuerpo de la solicitud para especificar los criterios de búsqueda. Si más de un documento coincide con los criterios, solo se devolverá la primera coincidencia. |
| Buscar varios documentos |
Con el punto de conexión de búsqueda, puede capturar varios documentos a la vez. Utilice la propiedad filter en el cuerpo de la solicitud para especificar los criterios en los que se va a filtrar. Si pasa un objeto vacío, se devolverán todos los documentos de la colección. |
| Ejecución de la canalización de agregación |
Incluso puede ejecutar canalizaciones de agregación con Data API. Para ello, use el punto de conexión agregado y especifique la canalización en el campo de canalización del cuerpo de la solicitud. |
| Eliminar documento |
Para eliminar un único documento, use el punto de conexión deleteOne. Use la propiedad filter en el cuerpo de la solicitud para especificar los criterios de búsqueda. Si más de un documento coincide con los criterios, solo se eliminará la primera coincidencia. |
| Eliminar muchos documentos |
Puede usar deleteMany para eliminar varios documentos a la vez. Use la propiedad filter para especificar los documentos que se van a eliminar. Tenga en cuenta que el uso de esta API sin ningún filtro eliminará todos los documentos de la colección. Use deletemany con cuidado. |
| Insertar documento |
Con el punto de conexión insertOne, puede agregar un documento a una colección. Utilice la propiedad document en el cuerpo de la solicitud para especificar el documento que se debe crear. |
| Insertar varios documentos |
Puede agregar más de un documento a la vez mediante el punto de conexión insertMany. En ese caso, debe usar la propiedad documents en el cuerpo de la solicitud para especificar la matriz de documentos que desea insertar en la colección. |
Actualizar documento
Puede usar el punto de conexión updateOne para actualizar un único registro. Use la propiedad filter en el cuerpo de la solicitud para especificar los criterios de búsqueda. Si más de un documento coincide con los criterios, solo se devolverá la primera coincidencia. A continuación, use el campo de actualización para especificar lo que se debe actualizar. Debe usar uno de los operadores de actualización para actualizar los documentos.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
filtro
|
filter | True | object |
Un filtro de consulta de MongoDB.La acción UpdateOne modifica el primer documento de la colección que coincide con este filtro. |
|
actualización
|
update | True | object |
Expresión de actualización de MongoDB que especifica cómo modificar el documento coincidente. |
|
upsert
|
upsert | boolean |
La marca Upsert solo se aplica si ningún documento coincide con el filtro especificado. Si es true, la acción updateOne inserta un nuevo documento que coincide con el filtro con la actualización especificada aplicada. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
matchedCount
|
matchedCount | integer |
matchedcount |
|
modifiedCount
|
modifiedCount | integer |
modifiedcount |
Actualizar varios documentos
Con updateMany, puede actualizar todos los documentos que coincidan con un filtro específico especificado en el cuerpo de la solicitud. Use uno de los operadores de actualización del campo de actualización para actualizar los documentos.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
filtro
|
filter | True | object |
Un filtro de consulta de MongoDB . La acción updateMany modifica todos los documentos de la colección que coinciden con este filtro. |
|
actualización
|
update | True | object |
Expresión de actualización de MongoDB que especifica cómo modificar documentos coincidentes. |
|
upsert
|
upsert | boolean |
La marca upsert solo se aplica si ningún documento coincide con el filtro especificado. Si es true, la acción updateMany inserta un nuevo documento que coincide con el filtro con la actualización especificada aplicada. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
matchedCount
|
matchedCount | integer |
matchedcount |
|
modifiedCount
|
modifiedCount | integer |
modifiedcount |
Buscar documento
El uso del punto de conexión findOne le permitirá recuperar un único documento de una colección. Use la propiedad filter en el cuerpo de la solicitud para especificar los criterios de búsqueda. Si más de un documento coincide con los criterios, solo se devolverá la primera coincidencia.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
filtro
|
filter | object |
Un filtro de consulta de MongoDB. La acción findOne devuelve el primer documento de la colección que coincide con este filtro. |
|
|
projection
|
projection | object |
Proyección de consulta de MongoDB. Dependiendo de la proyección, el documento devuelto omitirá campos específicos o incluirá solo campos o valores especificados. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
documento
|
document | object |
documento |
Buscar varios documentos
Con el punto de conexión de búsqueda, puede capturar varios documentos a la vez. Utilice la propiedad filter en el cuerpo de la solicitud para especificar los criterios en los que se va a filtrar. Si pasa un objeto vacío, se devolverán todos los documentos de la colección.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
filtro
|
filter | object |
Filtro de consulta de MongoDB. La acción buscar devuelve documentos de la colección que coinciden con este filtro. Si no especifica un filtro, la acción coincide con todos los documentos de la colección. |
|
|
projection
|
projection | object |
Proyección de consulta de MongoDB. Dependiendo de la proyección, los documentos devueltos omiten campos específicos o incluyen solo los campos y valores especificados. |
|
|
sort
|
sort | object |
Expresión de ordenación de MongoDB. Los documentos coincidentes se devuelven en orden ascendente o descendente de los campos especificados en la expresión. |
|
|
limit
|
limit | integer |
Número máximo de documentos coincidentes que se van a incluir en el conjunto de resultados devuelto. Cada solicitud puede devolver hasta 50 000 documentos. |
|
|
skip
|
skip | integer |
Número de documentos coincidentes que se omitirán antes de agregar documentos coincidentes al conjunto de resultados. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
Documentos
|
documents | array of object |
Documentos |
|
items
|
documents | object |
Ejecución de la canalización de agregación
Incluso puede ejecutar canalizaciones de agregación con Data API. Para ello, use el punto de conexión agregado y especifique la canalización en el campo de canalización del cuerpo de la solicitud.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
pipeline
|
pipeline | object |
items |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
Documentos
|
documents | array of object |
Documentos |
|
items
|
documents | object |
Eliminar documento
Para eliminar un único documento, use el punto de conexión deleteOne. Use la propiedad filter en el cuerpo de la solicitud para especificar los criterios de búsqueda. Si más de un documento coincide con los criterios, solo se eliminará la primera coincidencia.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
filtro
|
filter | True | object |
Un filtro de consulta de MongoDB. La acción deleteOne elimina el primer documento de la colección que coincide con este filtro. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
deletedCount
|
deletedCount | integer |
deletedcount |
Eliminar muchos documentos
Puede usar deleteMany para eliminar varios documentos a la vez. Use la propiedad filter para especificar los documentos que se van a eliminar. Tenga en cuenta que el uso de esta API sin ningún filtro eliminará todos los documentos de la colección. Use deletemany con cuidado.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
filtro
|
filter | True | object |
Un filtro de consulta de MongoDB . La acción deleteMany elimina todos los documentos de la colección que coinciden con este filtro. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
deletedCount
|
deletedCount | integer |
deletedCount |
Insertar documento
Con el punto de conexión insertOne, puede agregar un documento a una colección. Utilice la propiedad document en el cuerpo de la solicitud para especificar el documento que se debe crear.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
documento
|
document | True | object |
Documento EJSON que se va a insertar en la colección. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
insertedId
|
insertedId | string |
insertedId |
Insertar varios documentos
Puede agregar más de un documento a la vez mediante el punto de conexión insertMany. En ese caso, debe usar la propiedad documents en el cuerpo de la solicitud para especificar la matriz de documentos que desea insertar en la colección.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del clúster de MongoDB
|
dataSource | True | string |
Nombre del clúster. |
|
Nombre de base de datos de MongoDB
|
database | True | string |
El nombre de la base de datos. |
|
Nombre de la colección de MongoDB
|
collection | True | string |
Nombre de la colección. |
|
Documentos
|
documents | object |
items |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
insertedIds
|
insertedIds | array of string |
insertedIds |