Sincronizar dados entre dispositivos - Node.js SDK
O Atlas Device Sync sincroniza automaticamente os dados entre aplicativos cliente e umbackend do Atlas App Services . Quando um dispositivo cliente está online, o Sync sincroniza de forma assíncrona os dados em um thread em background entre o dispositivo e seu aplicativo de backend.
O Device Sync tem dois modos de sincronização: Flexible Sync e a antiga sincronização baseada em partição. Recomendamos usar o modo Flexible Sync para novos aplicativos. Para obter mais informações sobre como usar a sincronização baseada em partição em sincronização baseada em partição - Node.js SDK
Ao usar a sincronização em seu aplicativo cliente, sua implementação deve corresponder ao modo de sincronização selecionado na configuração do aplicativo de backend. Você só pode usar um Modo de sincronização para o seu aplicativo. Você não pode misturar a Partition-Based Sync e a Flexible Sync no mesmo aplicativo.
Flexible Sync
Quando você seleciona Flexible Sync para a configuração do aplicativo de backend, a implementação do cliente deve incluir assinaturas para queries em campos consultáveis. O Flexible Sync funciona sincronizando dados que correspondem às assinaturas de consulta que você mantém no aplicativo cliente.
Um conjunto de assinaturas contém um conjunto de queries. O Realm Flexible Sync retorna documentos correspondentes a essas queries, onde o usuário tem as permissões apropriadas para ler e/ou ler e gravar os documentos. Se os documentos corresponderem à query, mas o cliente não tiver permissão para lê-los ou gravá-los, eles não serão sincronizados com o aplicativo cliente.
Você pode formar queries usando a Linguagem de Query de Realm.
Observação
O Flexible Sync não é compatível com todos os operadores de consulta disponíveis na Linguagem de Query de Realm e no mecanismo de consulta do SDK. Consulte Limitações flexíveis do RQL de sincronização para obter detalhes.
Os conjuntos de assinaturas são baseados em um tipo específico de objeto Realm. Você pode ter várias assinaturas se tiver muitos tipos de objetos do Realm.
Para usar o Flexible Sync em seu aplicativo cliente, abra um domínio sincronizado com uma configuração do Flexible Sync. Em seguida, gerencie assinaturas para determinar quais documentos sincronizar.
Atualizações de grupo para melhorar o desempenho
Cada transação de escrita para um conjunto de assinaturas tem um custo de desempenho. Se você precisar fazer várias atualizações em um objeto do Realm durante uma sessão, considere manter objetos editados na memória até que todas as alterações sejam concluídas. Isso melhora o desempenho da sincronização, gravando apenas o objeto completo e atualizado em seu domínio, em vez de cada alteração.
Dica
O Device Sync oferece suporte a dois modos de sincronização: Flexible Sync e a antiga sincronização baseada em partição. Se o backend do App Services usar a sincronização baseada em partição em sincronização baseada em partição - Node.js SDK
Recomendamos que novos aplicativos usem o Flexible Sync.