Menu Docs

Página inicial do DocsServiços Atlas App

Conectar a fontes de dados MongoDB

Nesta página

  • Visão geral
  • Ler, escrever e agregar dados
  • Proteja e valide dados
  • Sincronize dados automaticamente
  • Reaja às alterações de dados
  • Vincule uma fonte de dados
  • Navegue até a tela de gerenciamento de fontes de dados
  • Vincule uma nova fonte de dados
  • Salvar a Fonte de Dados Vinculada
  • Obtenha a versão mais recente da sua aplicação
  • Crie um diretório de configuração da fonte de dados
  • Adicionar um arquivo de configuração da fonte de dados
  • Implemente a configuração da fonte de dados
  • Limitações da fonte de dados
  • Federação de Dados Atlas
  • Instâncias sem servidor

Uma fonte de dados representa uma instância do MongoDB Atlas no mesmo projeto do seu aplicativo. Você usa fontes de dados para armazenar e recuperar os dados do seu aplicativo.

A maioria dos aplicativos se conecta a uma única fonte de dados, mas você pode configurar várias fontes de dados se os seus dados estiverem espalhados pelas instâncias. Você define um nome exclusivo para cada fonte de dados vinculada ao seu aplicativo e usa esse nome para se referir à fonte de dados em todo o aplicativo.

As solicitações para fontes de dados são roteadas por meio do Atlas App Services. Por conta disso, o App Services abre e fecha automaticamente as conexões do banco de dados. Isso significa que você não precisa se preocupar em chamar db.close() ao usar uma fonte de dados.

Observação

Criptografia de backend

Toda a comunicação interna entre o App Services e o Atlas é criptografada com certificados x509.

Você pode ler e gravar dados em uma fonte de dados a partir de uma função do lado do servidor ou conectar-se a partir de um aplicativo cliente. Você escreve queries usando a sintaxe de query padrão do MongoDB.

exports = async function() {
const mongodb = context.services.get("mongodb-atlas");
return mongodb
.db("myDatabase")
.collection("myCollection")
.findOne()
}

Para aprender como trabalhar com uma fonte de dados em uma Função do Atlas, consulte os seguintes guias:

Para saber como usar uma fonte de dados de um Realm SDK, veja o Query no Atlas a partir de aplicativos de clientes.

Observação

As fontes de dados vinculadas não aceitam todas as operações de aggregation e CRUD do MongoDB. Algumas operações não estarão disponíveis ao fazer query no MongoDB como um usuário específico devido à sobrecarga da validação de esquema e das regras de acesso a dados. Você pode contornar algumas limitações fazendo query no MongoDB como um usuário do sistema.

Para obter mais informações sobre quais operações são suportadas, consulte APIs de agregação CRUD & .

As fontes de dados permitem definir regras de acesso e esquemas de documento para os dados que elas contêm. As regras autorizam dinamicamente os usuários a ler e escrever subconjuntos de seus dados, e os esquemas controlam a forma e o conteúdo de cada documento.

Por padrão, as operações de leitura e gravação em uma fonte de dados vinculada são seguras. Um usuário não pode ler ou gravar nenhum dado, a menos que uma regra o permita explicitamente. Quaisquer dados inseridos ou modificados por um usuário autorizado devem estar em conformidade com o esquema correspondente.

Se você não definir regras para uma collection, as consultas na collection falharão. Isso significa que você pode expor com segurança uma interface de fonte de dados configurada corretamente em aplicativos cliente sem correr o risco de corrupção ou vazamento de dados.

Os aplicativos Atlas Device Sync armazenam dados e sincronizam alterações de dados em um cluster vinculado, chamado de aglomerado sincronizado. O protocolo de sincronização garante que seus dados sejam eventualmente consistentes com todos os clientes de sincronização e com o cluster sincronizado.

Para mais informações sobre o Atlas Device Sync e como ele interage com as fontes de dados do seu aplicativo, consulte Atlas Device Sync.

Observação

Versão 4.4 necessária para sincronização

Para utilizar o Atlas Device Sync, seu cluster deve executar MongoDB versão 4.4 ou mais recente.

Você pode criar gatilhos de banco de dados (trigger) que executam funções automaticamente em resposta à alteração de dados. Os gatilhos usam change streams do MongoDB para observar a fonte de dados e executar uma função sempre que um evento de alteração corresponder à configuração do gatilho. Uma função de gatilho pode executar código arbitrário e pode acessar um evento de alteração para obter informações detalhadas sobre a alteração que causou sua execução.

Para saber mais sobre como os gatilhos funcionam e como definir os seus próprios, consulte Gatilhos de banco de dados.

Importante

Os gatilhos só estão disponíveis para fontes de dados que oferecem suporte a fluxos de mudança. Você não pode definir gatilhos em uma instância do Banco de Dados Federado ou instância do Atlas sem servidor.

Uma fonte de dados configurada em seu aplicativo está vinculada à instância subjacente no Atlas. Você pode vincular várias instâncias ao seu aplicativo e até mesmo criar várias fontes de dados vinculadas à mesma instância subjacente.

Você pode configurar uma nova fonte de dados vinculada na UI do App Services, ou você pode definir e enviar por push um arquivo de configuração com o CLI do App Services ou sistema do GitHub:

Uma fonte de dados vinculada pode representar um de vários tipos de instâncias do MongoDB Atlas. Dependendo do tipo da instância subjacente, nem todas as funcionalidades são aceitas.

Após vincular uma fonte de dados, você não poderá alterar o tipo de instância subjacente. Em vez disso, você pode vincular uma nova fonte de dados a outro tipo de instância.

Você pode vincular uma instância do banco de dados federado ao seu aplicativo como uma fonte de dados do MongoDB. No entanto, há algumas ressalvas a serem lembradas ao trabalhar com o Atlas Data Federation:

Você pode vincular uma instância sem servidor ao seu aplicativo como uma fonte de dados do MongoDB. No entanto, as instâncias sem servidor não aceitam change streams no momento, portanto, as seguintes funcionalidades são limitadas:

  • Não é possível criar um gatilho de banco de dados em uma instância sem servidor.

  • Você não pode usar uma instância sem servidor como cluster do Device Sync do seu aplicativo.

  • Você não pode observar collections para alterações em fontes de dados que são instâncias sem servidor do MongoDB Atlas.

← Autenticação Okta JWT (JWT personalizado)