Primeiros passos com o Atlas Device Sync
Nesta página
Para sincronizar dados entre dispositivos, habilite o Device Sync e use os métodos e propriedades relacionados à sincronização no Atlas Device SDK.
Dica
Confira o tutorial
Se você preferir aprender por exemplo, confira o tutorial Device Sync , que usa um aplicação de lista de tarefas sincronizado com clientes para plataformas comuns compatíveis com o App Services.
Antes de começar
Se você ainda não tiver uma, crie uma conta gratuita do MongoDB Atlas.
O Device Sync requer um Atlas cluster executando o MongoDB versão 5.0 ou posterior. Você pode usar um cluster M0 compartilhado gratuito para explorar e desenvolver seu aplicativo. Recomendamos usar um cluster de camada dedicado (M10 e superior) para aplicativos de produção. Não é possível usar a sincronização com uma instância sem servidor ou com uma instância de banco de dados de dados federado.
Se ainda não tiver um, crie um novo App Services App vinculado ao seu Atlas cluster.
Configurar seu modelo de dados
Escolha um SDK
O Atlas Device SDK envolve o Realm Core Database, um banco de banco de dados de objeto otimizado para dispositivos móveis. O SDK, disponível em vários idiomas e plataformas, inclui tudo o que você precisa para trabalhar com bancos de dados sincronizados no código do cliente . Você pode usar várias linguagens do SDK para trabalhar com o mesmo conjunto de dados sincronizados entre dispositivos e plataformas.
Este guia se concentra em configurar o Device Sync com o SDK. Para obter documentação detalhada que inclui detalhes sobre como instalar e usar o Atlas Device SDK de forma mais geral, confira os SDK Docs:
Observação
Usando o Device Sync com o Realm JavaScript WebAssembling SDK
Para obter mais informações sobre como criar aplicativos web em tempo real para o navegador com a API do Banco de Dados Realm e o Atlas Device Sync, consulte Introdução ao Realm Web & Atlas Device Sync (visualização). Ou você pode executar query dos mesmos dados em um cluster do Atlas usando o MongoDB Data Access.
Definir modelo de dados
Um banco de banco de dados sincronizado usa modelos de objeto que você define para determinar o tipo de objetos no banco de banco de dados. Além disso, a sincronização requer um esquema de documento do lado do servidor para cada tipo de objeto sincronizado para que o servidor possa traduzir e aplicar alterações entre bancos de dados sincronizados e o MongoDB Atlas.
Para definir seus modelos de objeto sincronizados, faça um dos seguintes para cada tipo de objeto:
Sincronizar modelos de objeto de um SDK: no Modo de desenvolvimento, você gera um esquema de documento automaticamente para cada tipo de objeto sincronizado, e atribui esse esquema a uma collection no cluster vinculado com o mesmo nome do tipo de objeto . O modo de desenvolvimento permite configurar o modelo de dados sincronizados a partir de um aplicação de cliente usando os mesmos modelos de objeto e código que você usa no aplicativo de produção. Isso é útil se você prefere uma abordagem que prioriza o cliente e usa modelos de objeto idiomáticos em sua linguagem de programação de preferência.
Para começar, consulte Criar um Modelo de Dados.
Gerar modelos de objeto a partir de um esquema de documento : se você já tiver dados no Atlas, poderá gerar automaticamente modelos de objeto específicos de idioma que correspondam aos esquemas de documento definidos para o cluster sincronizado da sua aplicação . Você pode definir esses esquemas manualmente ou o App Services pode amostrar dados existentes no cluster para criá-los automaticamente. Isso é útil se você preferir uma abordagem de servidor em primeiro lugar ou planeja criar aplicativos com vários SDKs.
Para obter instruções passo a passo de como gerar modelos de objeto que você pode usar em seus aplicativos cliente , consulte Gerar modelos de objetos SDK.
Depois de ter os modelos de objetos gerados, você pode copiá-los diretamente no aplicativo cliente e usá-los da mesma forma que faria com qualquer objeto ou struct comum na linguagem de programação de sua preferência.
Definir padrões de acesso aos dados
Depois de decidir sobre o modelo de dados do seu aplicativo, você pode definir um padrão de acesso aos dados e regras de acesso para os dados do seu aplicativo.
Os aplicativos cliente podem executar query dos campos de query de um documento para determinar quais objetos sincronizar. Em seguida, o App Services aplica regras e funções padrão para determinar se os usuários podem ler ou gravar os objetos que correspondem à query.
Definir regras de acesso aos dados
As regras de acesso a dados determinam quais dados sincronizar, bem como a capacidade de cada usuário de ler e gravar dados. As regras estão vinculadas ao modelo de dados do seu aplicativo.
Com o Device Sync , você especifica quais dados sincronizar por meio de queries de objetos correspondentes em um aplicação cliente . Em seguida, o App Services avalia funções e regras para determinar quais desses objetos correspondentes um usuário pode ler e escrever.
Defina roles em collections específicas. As roles padrão fornecem permissões de leitura e gravação quando roles mais específicas não se aplicam. As roles padrão se aplicam a todas as collections que um aplicativo pode acessar, mas você pode restringir uma role a uma collection específica especificando o nome da collection.
Configurar sincronização
O Device Sync permite especificar como os clientes podem acessar dados em seu aplicativo. Para obter um passo a passo de como habilitar e configurar a sincronização, consulte Configurar e habilitar o Atlas Device Sync.
Otimizar o uso do Sync
O Device Sync sincroniza todos os dados de collections com um esquema definido no seu Atlas cluster. Se você não especificar um campo em seu esquema, o Device Sync não sincronizará esse campo com os clientes.
A sincronização armazena alguns dados de utilitários em seu cluster sincronizado para ajudar a sincronizar dados com clientes. O Device Sync tem otimizações integradas para reduzir a quantidade de dados de utilitários armazenados em clusters sincronizados. Se você quiser reduzir ainda mais a quantidade de dados de utilitários para se adequar ao seu caso de uso, consulte o guia Otimizar o uso do Device Sync.
Criar queries no seu aplicativo de cliente
Com o Device Sync ativado, você pode criar queries a partir do aplicação do cliente .
O Atlas Device SDK fornece métodos para criar, atualizar e remover queries do aplicação cliente . Os SDKs usam assinaturas para manter essas queries no lado do cliente . Por meio dessas assinaturas, seus aplicativos sincronizam objetos com o aplicativo de backend e podem observar e React a alterações.
Para criar queries a partir do seu aplicação cliente , consulte a documentação do Atlas Device SDK na sua linguagem de programação preferida:
Aviso
Limite de tamanho da query
O limite de tamanho para queries do seu aplicação cliente ao usar o Device Sync é de 256 kB. Exceder esse limite em uma query resulta em um erro de LimitsExceeded.
Importante
O Flexible Sync ignora o agrupamento personalizado
O Flexible Sync ignora qualquer agrupamento personalizado que você possa ter configurado em uma collection do MongoDB no Atlas. Em vez disso, as coleções sincronizadas sempre usam o {locale: "simple"}
ao avaliar assinaturas ou permissões de sincronização.