Puede consultar datos en clústeres MongoDB Atlas vinculados desde aplicaciones cliente mediante la sintaxis del lenguaje de consulta MongoDB (MQL) estándar con MongoDB Data Access en los SDK de Realm.
El Acceso a Datos de MongoDB protege los datos al aplicar los permisos de acceso basados en roles, los filtros de consulta y los esquemas de documentos de su aplicación. Estas funciones le permiten crear consultas complejas del lado del cliente con MQL mientras sus datos permanecen seguros en el servidor.
Cuándo utilizar el acceso a datos de MongoDB
Es posible que desee utilizar MongoDB Data Access en su aplicación si:
Quiere utilizar una API como los controladores MongoDB
Desea escribir consultas de base de datos en su código de cliente en lugar de en un servidor
Desea construir consultas ad hoc desde el dispositivo cliente.
Es posible que desee utilizar MongoDB Data Access en lugar de Atlas Device Sync en una aplicación en estos escenarios:
Está consultando documentos que no están o no pueden modelarse en la base de datos de Realm.
Desea acceder a colecciones que no están sincronizadas.
No desea conservar los datos localmente.
Estás utilizando Realm Web SDK, que no es compatible con Realm Database ni con Device Sync.
Como alternativa al acceso a datos de MongoDB en escenarios del lado del cliente, puede utilizar la API de datos Atlas.
También puedes usar estas API sin un SDK de Realm para el lenguaje de programación de tu aplicación cliente, siempre que este tenga un cliente HTTPS. Sin embargo, estas API no utilizan la misma sintaxis MQL con seguridad de tipos que el acceso a datos de MongoDB de los SDK de Realm.
Como alternativa al acceso a datos de MongoDB en escenarios del lado del servidor, puede utilizar lo siguiente:
Controlador MongoDB. Generalmente, se recomienda usar un controlador MongoDB para conectarse a Atlas desde el servidor, ya que estos controladores ofrecen mayor rendimiento y flexibilidad que la conexión a través de App Services. Si desea aplicar reglas de App Services a las operaciones del controlador, puede usar el protocolo App Services Wire.
API de datos de Atlas
Configuración
Para utilizar el acceso a datos de MongoDB desde un SDK de Realm, debe realizar la siguiente configuración.
Crear una aplicación de servicios de aplicaciones
Cree una aplicación de App Services con una fuente de datos MongoDB vinculada.
Para obtener más información sobre la creación de aplicaciones, consulte Crear una aplicación y vincular una fuente de datos.
Agregar un proveedor de autenticación
Agregue al menos un proveedor de autenticación a la aplicación. Todas las consultas de acceso a datos de MongoDB se ejecutan en el contexto de un usuario autenticado. Para obtener más información sobre cómo habilitar la autenticación de usuarios, consulte Proveedores de autenticación.
Agregar reglas a una colección
Para proteger las consultas del lado del cliente, debe agregar reglas de App Services a cualquier colección que utilice con MongoDB Data Access. Para saber cómo agregar reglas a las colecciones, consulte Definir roles y permisos.
Si no agregas reglas a una colección, entonces todas las solicitudes del cliente a ella fallarán.
Agregar un esquema y filtros a la colección (opcional)
Además de las reglas, también puede agregar un esquema y filtros a las colecciones que consulte con MongoDB Data Access.
Los esquemas definen el modelo de datos de tu aplicación y validan los documentos con él. Usa filtros para garantizar que los clientes solo escriban en la base de datos datos que coincidan con el esquema.
Los filtros modifican las consultas de MongoDB antes de enviarlas a la base de datos para que solo devuelvan un subconjunto de resultados. Por ejemplo, podría definir un filtro que modifique las consultas para que un usuario solo pueda acceder a los datos que ha escrito.
Si bien los esquemas y filtros no son necesarios para utilizar MongoDB Data Access, debe agregarlos a la mayoría de los casos de uso de producción.