Si tiene una aplicación móvil o cliente que usa Realm Database y desea sincronizar sus datos con otros dispositivos y respaldarlos en MongoDB Atlas, puede hacerlo con Device Sync. Siga estos pasos para comenzar:
Configurar Atlas Access
Crear una aplicación de Atlas App Services
La aplicación App Services es la puerta de enlace que permite que su dispositivo cliente se conecte a MongoDB Atlas. Al crear una aplicación, le asigna un nombre, la vincula a un clúster de Atlas y especifica el modelo y la región de implementación más adecuados para su aplicación.
Para saber cómo crear una aplicación de App Services,consulte Crear una aplicación.
Configurar la sincronización del dispositivo
Device Sync es el servicio que gestiona la sincronización de datos en Atlas y entre tus dispositivos cliente. Device Sync, junto con los SDK de Realm, gestiona automáticamente la conectividad de red, la resolución de conflictos, la autenticación de usuarios, y los permisos de usuario y el acceso a los datos.
Al configurar Device Sync, se especifica la fuente de datos a la que pueden acceder los dispositivos cliente, así como los permisos que determinan qué datos puede leer y escribir un usuario.
Puede configurar la Sincronización de Dispositivos mediante la interfaz de usuario de Atlas, la interfaz de línea de comandos de los Servicios de Aplicaciones de Atlas o la API de administración de los Servicios de Aplicaciones. La primera vez que configure la Sincronización de Dispositivos, puede resultarle útil usar la interfaz de usuario de Atlas, ya que proporciona enlaces e información sobre diversas configuraciones y opciones.
Habilitar un proveedor de autenticación
Los usuarios de su cliente deben autenticarse para acceder a los datos sincronizados. App Services ofrece varios proveedores de autenticación para que sus usuarios puedan autenticarse. Configure uno o más de estos proveedores para habilitar la autenticación en su aplicación cliente.
Puede configurar proveedores de autenticación dentro de la interfaz de usuario de la aplicación App Services seleccionando Authentication En el menú de navegación izquierdo, haga clic en un proveedor para configurarlo. También puede configurar proveedores de autenticación editando la configuración de App Services con la interfaz de línea de comandos de Atlas App Services o API de administración de servicios de aplicaciones.
Generar un esquema de servicios de aplicaciones
Cuando ya tienes una aplicación cliente que usa Realm base de datos, puedes utilizar tu Modelo de objeto Realm para generar el esquema de aplicación Services que asigna datos entre dispositivos cliente y Atlas. Puedes hacer esto activando el Modo de Desarrollo, una funcionalidad que lee los datos del Modelo de objeto desde datos sincronizados del realm y genera un esquema a partir de esos datos.
Para obtener más información sobre cómo generar un esquema de App Services a partir de su modelo de objetos de Realm, consulte: Crear un esquema de App Services a partir de un modelo de objetos de Realm.
Agregar sincronización a la aplicación cliente
Después de esto, ya tienes todo configurado en Atlas y puedes preparar tu aplicación cliente para sincronizar datos. Si ya tienes una aplicación cliente que conserva datos con Realm Database, solo necesitas añadir algunos elementos para sincronizarlos entre dispositivos y con Atlas.
Abrir un reino sincronizado
Una vez que tenga un usuario autenticado, puede abrir una instancia sincronizada de Realm Database para usarla para ese usuario.
Define una suscripción de consulta de Sincronización Flexible en el código de cliente para determinar qué datos sincronizar con la aplicación cliente. Sincronización de Dispositivos busca documentos de Atlas que coincidan con la consulta y que el usuario tenga permiso de lectura y escritura, y los sincroniza con el dispositivo cliente como objetos de Realm. Puedes agregar, eliminar o actualizar suscripciones de consulta de Sincronización Flexible para cambiar los documentos que se sincronizan con el dispositivo.
SDK de C++
SDK de Flutter
SDK de Java
Kotlin SDK
Kit de desarrollo de software .NET
Node.js SDK
SDK de React Native
Kit de desarrollo de software de Swift
Copiar datos existentes en un dominio sincronizado
Si ya tiene datos de cliente, no puede agregar Device Sync directamente a un dominio no sincronizado. Debe copiar los datos del dominio no sincronizado al dominio sincronizado. Si no tiene datos de cliente, puede omitir este paso.
Algunos SDK ofrecen métodos que permiten hacer esto al abrir un reino. Sin embargo, muchos SDK de reinos no admiten actualmente el uso de estos métodos con la sincronización flexible.
Si su SDK no permite copiar un dominio local a un dominio de sincronización flexible, debe escribir la lógica para iterar sobre cada objeto del dominio no sincronizado y copiarlo al dominio sincronizado. Este proceso se realiza una sola vez. Después de copiar los datos, puede descartar el dominio no sincronizado y abrir solo el dominio sincronizado de ahora en adelante.
Utilice el reino sincronizado
La sintaxis para leer, escribir y observar cambios en un dominio sincronizado es idéntica a la de los dominios no sincronizados. Mientras trabaja con datos locales, un subproceso en segundo plano integra, carga y descarga conjuntos de cambios de forma eficiente. Cuando un usuario con permisos de escritura realiza cambios en el dispositivo, los datos se conservan localmente. Si el usuario tiene conexión de red, los datos se sincronizan automáticamente con Atlas y otros dispositivos.