Atlas Device Sync sincroniza automáticamente los datos entre las aplicaciones cliente y un Servicios de aplicaciones Atlas. Cuando un dispositivo cliente está conectado, Sync sincroniza los datos de forma asincrónica en un hilo en segundo plano entre el dispositivo y la aplicación de backend.
La sincronización de dispositivos tiene dos modos: sincronización flexible y la sincronización basada en particiones (la versión anterior). Recomendamos usar el modo de sincronización flexible para las aplicaciones nuevas. Para obtener más información sobre la sincronización basada en particiones, consulte Sincronización basada en particiones - SDK de Node.js.
Cuando se utiliza sincronizar en la aplicación cliente, la implementación debe coincidir con el modo de sincronización seleccionada en la configuración de la aplicación de backend. Solo se puede usar un modo de sincronización para la aplicación. No puedes mezclar Partition-Based Sync y Flexible Sync dentro de la misma aplicación.
Sincronización flexible
Al seleccionar la Sincronización Flexible para la configuración de la aplicación backend, la implementación del cliente debe incluir suscripciones a consultas en campos consultables. La Sincronización Flexible funciona sincronizando los datos que coinciden con las suscripciones a consultas que mantiene en la aplicación cliente.
Un conjunto de suscripciones contiene un conjunto de consultas. Realm Flexible Sync devuelve los documentos que coinciden con dichas consultas, siempre que el usuario tenga los permisos necesarios para leerlos o escribirlos. Si los documentos coinciden con la consulta, pero el cliente no tiene permiso para leerlos o escribirlos, no se sincronizan con la aplicación cliente.
Puede realizar consultas utilizando el lenguaje de consulta Realm.
Nota
Flexible Sync no es compatible con todos los operadores de consulta disponibles en el lenguaje de consulta Realm ni con el motor de consultas del SDK. Consulte las limitaciones de Flexible Sync RQL para obtener más información.
Los conjuntos de suscripciones se basan en un tipo específico de objeto de dominio. Es posible que tenga varias suscripciones si tiene varios tipos de objetos de dominio.
Para usar la Sincronización Flexible en su aplicación cliente, abra un dominio sincronizado con una configuración de sincronización flexible. A continuación, administre las suscripciones para determinar qué documentos sincronizar.
Actualizaciones de grupo para un mejor rendimiento
Cada transacción de escritura para un conjunto de suscripciones tiene un coste de rendimiento. Si necesita realizar varias actualizaciones a un objeto de Realm durante una sesión, considere mantener los objetos editados en memoria hasta que se completen todos los cambios. Esto mejora el rendimiento de la sincronización al escribir solo el objeto completo y actualizado en su reino, en lugar de cada cambio.
Tip
Device Sync admite dos modos de sincronización: sincronización flexible y la sincronización basada en particiones, que es más antigua. Si tu backend de App Services utiliza la sincronización basada en particiones, consulta Sincronización basada en particiones - SDK de Node.js.
Recomendamos que las nuevas aplicaciones utilicen la sincronización flexible.