Definir um Modelo de Dados
Visão geral
O modelo de dados do seu aplicativo é uma descrição dos dados que ela utiliza. Seu modelo de dados garante que os dados estejam em conformidade com uma estrutura específica, que contenha apenas valores válidos e sejam alterados somente da maneira esperada.
Um modelo de dados consiste em vários componentes, incluindo:
Um conjunto de esquemas declarativos que descrevem os tipos de dados do seu aplicativo.
Um conjunto de relacionamentos que definem conexões lógicas entre seu esquema.
Um conjunto de valores estáticos que você pode usar para definir constantes globais, valores ambientais e valores secretos.
Um conjunto de filtros de queries baseados em regras que você pode usar para limitar dinamicamente as operações do MongoDB a um subconjunto de todos os dados de determinada solicitação.
Definir o modelo de dados do seu aplicativo é uma parte fundamental da configuração e do uso do Device Sync. Você não precisa definir um modelo de dados para usar outro App Services No entanto, um modelo de dados desbloqueia muitos recursos poderosos que podem economizar seu tempo e permitir que você se concentre na criação de recursos em vez de escrever código padronizado.
Por exemplo, depois de definir um modelo de dados, você pode gerar automaticamente modelos de objeto do Device SDK sincronizáveis em sua linguagem de programação nativa usando uma ferramenta de administração de aplicação. Para saber mais, consulte Gerar modelos de objeto SDK.
Esquemas de documentos
Um esquema de documento é um objeto JSON que define a estrutura de um tipo específico de dados que o seu aplicativo utiliza. Os esquemas de documento descrevem quais campos um documento tem, o tipo de valores que esses campos contêm e as condições que devem ser atendidas para que uma mudança de valor seja válida.
Você define esquemas no nível de coleção. Isso significa que você associa cada esquema a uma coleção do MongoDB específica que contém os documentos desse tipo. Os esquemas usam um superconjunto do JSON schema padrão que inclui suporte para os tipos de BSON integrados do MongoDB, que permite que você descreva completamente seus dados no MongoDB.
Sua aplicação impõe esquemas no tempo de execução sempre que os dados são escritos no MongoDB. Isso inclui inserções, atualizações e exclusões de um serviço de API, função ou Device Sync.
Para saber mais, consulte Esquemas.
Relacionamentos
Um relacionamento é uma conexão entre dois esquemas de documentos que possibilita associar logicamente um documento a zero ou mais documentos.
Em um relacionamento, um documento "de origem" armazena uma referência a documentos relacionados, por exemplo, uma lista de valores _id
de documentos relacionados. Quando você usa o Realm Mobile Sync, o App Services resolve automaticamente as referências ao documento relacionado para que você possa fazer a query diretamente.
Para saber mais, consulte Relacionamentos.
Values & Secrets
Um valor é uma constante nomeada que pode ser acessada por nome de várias maneiras em todo o seu aplicativo. Por exemplo, você pode usar um valor para definir a URL base de um serviço de API externo e, em seguida, referenciar o valor no lugar de duplicar a URL base em várias definições de função.
Você também pode definir um valor de ambiente, que pode mudar dependendo da marca de ambiente do seu aplicativo. Por exemplo, você pode usar um URL base de API diferente em seus ambientes de desenvolvimento e produção.
Para informações confidenciais, como chaves de API, defina um valor secreto nomeado. Os valores secretos nunca são expostos diretamente depois que você os define. Na verdade, você os indica pelo nome em arquivos de configuração e expressões de regras.
Para saber mais, consulte Valores & segredos.
Filtros de query
Um filtro de query restringe as operações de leitura e gravação em uma fonte de dados a um subconjunto de todos os dados que ela contém. Os filtros de query são objetos de consulta e projeção padrão do MongoDB que são automaticamente concatenados às operações antes de serem enviados para a fonte de dados.
Os filtros são dinâmicos e podem aplicar diferentes condições com base em qual usuário executou as operações ou outras informações de execução. Adicionar um filtro a uma coleção permite limitar contextualmente o acesso e pode melhorar o desempenho da query para grandes conjuntos de dados.
Para saber mais, consulte a página Filtrar queries recebidas.