Si tienes una aplicación móvil o de cliente que utiliza la base de datos Realm y deseas sincronizar sus datos entre diferentes dispositivos y respaldarlos en MongoDB Atlas, puedes hacerlo utilizando Device Sync. Sigue estos pasos a nivel general para comenzar:
Configurar Atlas Access
Crear una aplicación de Atlas App Services
La aplicación App Services es la puerta de entrada que permite que tu dispositivo cliente se conecte a MongoDB Atlas. Al crear una aplicación, debes ponerle nombre, vincularla a un clúster de Atlas y especificar el modelo de implementación y la región de implementación que mejor se adapten a tu aplicación.
Para saber cómo crear una aplicación de App Services,consulte Crear una aplicación.
Configure Device Sync
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.
When you configure Device Sync, you specify the data source that the client devices can access, as well as the permissions that determine what data a user can read and write.
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.
Habilita 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.
Add Sync to the Client Application
Después de esto, tienes todo preparado en el lado de Atlas y puedes preparar tu aplicación cliente para sincronizar datos. Si ya tienes una aplicación cliente que almacena datos utilizando la base de datos Realm, solo necesitas añadir unos pocos elementos para sincronizar esos datos entre dispositivos y con Atlas.
Open a Synced Realm
Una vez que tenga un usuario autenticado, puede abrir una instancia sincronizada de Realm Database para usarla para ese usuario.
You define a Flexible Sync query subscription in your client code to determine what data to sync to the client application. Device Sync looks for Atlas documents that match the query, which the user has permission to read and possibly write, and synchronizes those documents to the client device as Realm objects. You can add, remove, or update Flexible Sync query subscriptions to change the documents that sync to the device.
SDK de C++
Flutter SDK
Java SDK
Kotlin SDK
Kit de desarrollo de software .NET
Node.js SDK
React Native SDK
Kit de desarrollo de software de Swift
Copy Existing Data Into a Synced Realm
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.
Some of the SDKs provide methods that enable you to do this when you open a realm. However, many of the Realm SDKs do not currently support using these methods with Flexible Sync.
If your SDK does not support copying a local realm to a Flexible Sync realm, you must write logic to iterate over each object in the non-synced realm and copy it into the synced realm. This is a one-time process. After you copy the data over, you can discard the non-synced Realm and open only the synced realm going forward.
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.