Docs Menu
Docs Home
/ /
Servicios de aplicaciones Atlas

Conectarse a fuentes de datos de MongoDB

Una fuente de datos representa una Instancia deMongoDB Atlas en el mismo proyecto que tu aplicación. Utilizas fuentes de datos para almacenar y recuperar los datos de tu aplicación.

La mayoría de las aplicaciones se conectan a una sola fuente de datos, pero puedes configurar varias si tus datos están distribuidos en varias instancias. Define un nombre único para cada fuente de datos vinculada a tu aplicación y úsalo para hacer referencia a ella en toda la aplicación.

Las solicitudes a las fuentes de datos se enrutan a través de Atlas App Services. Por ello, App Services abre y cierra automáticamente las conexiones a la base de datos. Esto significa que no necesita preocuparse por llamar. db.close() al utilizar una fuente de datos.

Nota

Cifrado de backend

Toda la comunicación interna entre App Services y Atlas está cifrada con certificados x509.

Puedes leer y escribir datos en una fuente de datos desde una función del servidor o conectarte desde una aplicación cliente. Las consultas se escriben utilizando la sintaxis estándar de MongoDB.

exports = async function() {
const mongodb = context.services.get("mongodb-atlas");
return mongodb
.db("myDatabase")
.collection("myCollection")
.findOne()
}

Para aprender a trabajar con una fuente de datos en una función Atlas, consulte las siguientes guías:

Para aprender a trabajar con una fuente de datos desde un SDK de Realm, consulta Query Atlas desde aplicaciones cliente.

Nota

Las fuentes de datos vinculadas no admiten todas las operaciones CRUD y de agregación de MongoDB. Algunas operaciones no están disponibles al consultar MongoDB como un usuario específico debido a la sobrecarga de la validación del esquema y las reglas de acceso a datos. Puede evitar algunas limitaciones consultando MongoDB como el usuario del sistema.

Para obtener más información sobre qué operaciones son compatibles,consulte API de CRUD y agregación.

Las fuentes de datos te permiten definir reglas de acceso y esquemas de documentos para los datos que contienen. Las reglas autorizan dinámicamente a los usuarios para leer y guardar subconjuntos de tus datos y los esquemas controlan la forma y el contenido de cada documento.

Las operaciones de lectura y escritura en una fuente de datos vinculada son seguras por defecto. Un usuario no puede leer ni escribir datos a menos que una regla lo permita explícitamente. Cualquier dato insertado o modificado por un usuario autorizado debe ajustarse al esquema correspondiente.

Si no define reglas para una colección, las consultas sobre ella fallarán. Esto significa que puede exponer de forma segura una interfaz de origen de datos correctamente configurada en aplicaciones cliente sin riesgo de corrupción ni fugas de datos.

Las aplicaciones Atlas Device Sync almacenan datos y sincronizan sus cambios en un clúster vinculado, denominado clúster sincronizado. El protocolo de sincronización garantiza la coherencia de los datos entre todos los clientes de sincronización y el clúster sincronizado.

Para obtener más información sobre Atlas Device Sync y cómo interactúa con las fuentes de datos de su aplicación, consulte Atlas Device Sync.

Nota

Requisitos de la fuente de datos para la sincronización del dispositivo

Para habilitar la sincronización de dispositivos, su aplicación de Servicios de aplicaciones debe tener al menos una fuente de datos vinculada que cumpla con los siguientes requisitos:

Puedes crear disparadores de base de datos que ejecuten funciones automáticamente al cambiar los datos. Los disparadores utilizan flujos de cambio de MongoDB para observar la fuente de datos y ejecutar una función cuando un evento de cambio coincide con la configuración del disparador. Una función de disparador puede ejecutar código arbitrario y acceder a un evento de cambio para obtener información detallada sobre el cambio que lo provocó.

Para obtener más información sobre cómo funcionan los activadores y cómo definir los suyos propios,consulte Activadores.

Importante

Los activadores solo están disponibles para fuentes de datos compatibles con flujos de cambios. No se pueden definir activadores en instancias de bases de datos federadas ni en instancias de Atlas sin servidor.

Una fuente de datos configurada en su aplicación está vinculada a la instancia subyacente en Atlas. Puede enlazar múltiples instancias a su aplicación e incluso crear varias fuentes de datos que enlacen con la misma instancia subyacente.

Puede configurar una nueva fuente de datos vinculada en la interfaz de usuario de App Services o definiendo y enviando un archivo de configuración con la CLI de App Services o la implementación de GitHub:

1

En la interfaz de usuario de App Services, haga clic en Linked Data Sources bajo Manage en el menú de navegación de la izquierda.

2

Haga clic en Link a Data Source y proporcione la siguiente información de configuración en la pantalla Data Source Configuration:

Campo
Descripción

Data Source

Un clúster MongoDB Atlas o una instancia de base de datos federada asociada al mismo proyecto que su aplicación.

App Services Service Name

Un nombre para el servicio de App Services que se conecta a la fuente de datos. Usarás este nombre al hacer referencia a la fuente de datos en otras partes de tu aplicación, como al instanciar un cliente de servicio de MongoDB.

Ejemplo

Considere una fuente de datos de clúster de MongoDB con el App Services Service Name myAtlasCluster. Para crear un cliente de servicio en una función se puede usar el siguiente código:

const myAtlasCluster = context.services.get("myAtlasCluster");
MongoDB Connection String
config.wireProtocolEnabled

Obligatorio para clústeres Atlas. No habilitado para instancias de bases de datos federadas. Un valor booleano que indica si App Services debe permitir que los clientes se conecten a este clúster con una cadena de conexión mediante el protocolo de conexión.

Read Preference

Obligatorio para clústeres Atlas. No disponible para instancias de bases de datos federadas. Especifica la preferencia de lectura del clúster. La preferencia de lectura predeterminada (principal) debería ser suficiente para la mayoría de los casos de uso.

3

Una vez seleccionado y configurado un clúster de MongoDB o una instancia de base de datos federada, haga clic en Save. App Services inicia inmediatamente el proceso de vinculación con la fuente de datos, que puede tardar hasta cinco minutos.

1

Para vincular un clúster de MongoDB Atlas o una instancia de base de datos federada con la CLI de App Services, necesita una copia local de los archivos de configuración de su aplicación.

Para extraer una copia local de la última versión de su aplicación, ejecute lo siguiente:

appservices pull --remote="<Your App ID>"

Tip

También puedes descargar una copia de los archivos de configuración de tu aplicación desde la pantalla Deploy > Export App en la Interfaz de usuario Realm.

2

Crea un nuevo subdirectorio con el nombre que usarás para la fuente de datos en /data_sources.

mkdir -p data_sources/<Data Source Name>
3

Agregue un archivo llamado config.json al subdirectorio de la fuente de datos. Este archivo puede configurar un clúster de MongoDB Atlas o una instancia de base de datos federada.

El archivo de configuración debe tener la siguiente forma general:

/data_sources/<Service Name>/config.json
{
"name": "<Service Name>",
"type": "mongodb-atlas",
"config": {
"clusterName": "<Atlas Cluster Name>",
"readPreference": "<Read Preference>",
"wireProtocolEnabled": <Boolean>,
"sync": <Sync Configuration>
}
}

Nota

Para obtener información detallada sobre el contenido de un archivo de configuración de clúster, consulte Configuración de clúster MongoDB vinculado.

/data_sources/<Service Name>/config.json
{
"name": "<Service Name>",
"type": "datalake",
"config": {
"dataLakeName": "<Federated database instance name>"
}
}

Nota

Para obtener más información, consulte Configuración de instancia de base de datos federada.

4

Una vez que haya definido y guardado un archivo config.json para la fuente de datos, puede enviar la configuración a su aplicación remota. App Services inicia inmediatamente el proceso de vinculación con la fuente de datos, que puede tardar hasta cinco minutos.

appservices push --remote="<Your App ID>"

Una fuente de datos vinculada puede representar uno de varios tipos de instancias de MongoDB Atlas. Dependiendo del tipo de instancia subyacente, no se admiten todas las funciones.

Una vez vinculada una fuente de datos, no se puede cambiar el tipo de instancia subyacente. En su lugar, se puede vincular una nueva fuente de datos con otro tipo de instancia.

Puedes vincular una instancia de base de datos federada a tu aplicación como fuente de datos de MongoDB. Sin embargo, hay algunas advertencias que debes tener en cuenta al trabajar con Atlas Data Federation:

Puedes vincular una instancia sin servidor a tu aplicación como fuente de datos de MongoDB. Sin embargo, actualmente las instancias sin servidor no admiten flujos de cambios, por lo que las siguientes funciones están limitadas:

Volver

Okta (JWT personalizado)

En esta página