Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Realmchevron-right

Funções sem servidor explicadas | MongoDB Realm Backend-as-a-Service | Iniciar

16 min. – Publicado 11 agosto, 2021
Next.jsSem servidorRealm
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Vídeo
star-empty
star-empty
star-empty
star-empty
star-empty
Pesquisar
00:00:00Introdução ao MongoDB Realm
00:01:16Recapitulação do conteúdo anterior do MongoDB
00:02:31Visão geral das funcionalidades do MongoDB Realm
00:03:00Configurando o MongoDB Realm
00:03:39Configurando o Realm para o Aplicativo
00:04:18Noções Realm sobre salvar e distribuir do realm
00:04:29Adicionando collections e definindo permissões
00:05:02Habilitando a autenticação do usuário
00:05:24Explorando as Opções de Autenticação
00:06:48Construindo funções sem servidor
00:07:50funções de teste e distribuição
00:08:38Conectando-se ao frontend
00:09:26Configurando um aplicativo Next.js
00:10:10Integrando o Realm com o frontend
00:11:00Exibindo produtos no front-end
00:11:30Conclusão e próximas etapas
O foco principal do vídeo é demonstrar como usar o MongoDB Realm como uma plataforma de backend como serviço para criar funcionalidades de backend, como rotas de API e autenticação de usuário para um projeto de e-commerce, e como conectá-las a um MongoDB Atlas Banco de dados .
} Pontos-chave
  • O MongoDB Realm oferece uma plataforma sem servidor para conectar facilmente seu front-end a um banco de dados.
  • Ela fornece funções, autenticação de usuário, Atlas Triggers, controle de acesso a dados e integrações de serviços de terceiros.
  • O vídeo demonstra a configuração de funções sem servidor e a conexão de um aplicativo Next.js ao MongoDB Atlas usando o Realm.
  • O Realm é compatível com GraphQL e tem SDKs para várias plataformas, incluindo Node.js, React Native, Android e iOS.
Todos os vídeos do MongoDB

Transcrição completa do vídeo
deseja criar de forma rápida e fácil um back-end para seu aplicativo, incluindo rotas de API autenticação de usuário GraphQL e muito mais e fazer tudo isso sem hospedar seu próprio servidor fique por perto vamos dar uma olhada no domínio MongoDB noss primeiro cluster Atlas conectado ao nosso cluster com a extensão MongoDB VS Code e a interface gráfica do MongoDB Compass também importamos alguns dados para nosso cluster para uso no projeto de e-commerce que criaremos ao longo desta série de vídeos caso você tenha perdido a impressão de grátis para Go e assisti-las o link para a playlist está na descrição abaixo, mas se você já está familiarizado com MongoDB e MongoDB Atlas e quer saber mais sobre o domínio MongoDB, então você está no lugar certo neste vídeo exploraremos o domínio do MongoDB nosso backend como serviço e plataforma móvel hoje vamos nos concentrar em explorar o backend como uma parte de serviço do domínio configuraremos algumas funções sem servidor que nos permitirão usar o domínio MongoDB como nossa API de backend, que se conecta ao nosso banco de dados MongoDB Atlas e fornece dados para o front-end do aplicativo, então o que é o MongoDB Realm, bem, é uma plataforma sem servidor que facilita a entrada de seus dados no front-end do seu aplicativo sem ter que se preocupar com hospedagem de seu próprio servidor de backend o backend de domínio do MongoDB como uma plataforma de serviço oferece funções que você pode executar funções JavaScript sem servidor para executar operações de banco de dados e criar apis para seu aplicativo autenticação de usuário você pode usar provedores de autenticação integrados do realms ou integrar um provedor existente e permitir domínio para gerenciar a autenticação do usuário para você também tem Atlas Triggers com Atlas Triggers você pode executar automaticamente funções em tempo real com base em alterações nos eventos de autenticação do usuário do banco de dados ou em uma programação predefinida também há controle de acesso a dados você pode definir o acesso a dados baseado no usuário em seu aplicativo e até mesmo permissões de nível de campo para usuários do aplicativo O MongoDB realm tem integrações com serviços de terceiros, bem como o twilio e aos serviços Amazon Web Services ele também é compatível com o GraphQL , você pode gerar automaticamente um JSON schema para suas coleções do MongoDB e ativar GraphQL com um único clique e isso é apenas uma prévia do que o MongoDB realm é capaz de também fazer o realm sync, que sincroniza dados entre dispositivos móveis em tempo real e abordaremos a sincronização do domínio em mais detalhes em outro vídeo da série além de tudo o que o domínio do MongoDB tem sdks para node.js JavaScript do lado do cliente React Native android e iOS , permitindo suporte a várias plataformas, tudo bem agora vamos configurar o domínio como eu disse nos vídeos anteriores, criamos nosso primeiro banco de dados no MongoDB Atlas, então agora Go para a guia de domínio para que o fi A primeira coi a primeira GraphQL e a qualquer momento, se você quiser acessar os guias novamente, o botão está bem aqui, então a próxima coisa que precisaremos fazer é adicionar uma coleção para que cliquemos aqui para começar e depois adicionar uma coleção então aqui precisamos para selecionar nosso banco de dados, então temos todos esses bancos de dados de amostra, mas vamos escolher nosso banco de dados da loja que criamos nos vídeos anteriores e, em seguida, para a coleção que será a nossa coleção de produtos, vamos deixar todos os padrões aqui e adicionar coleção e agora temos outro pop-u p que é entender o salvar e implantar então, quando você clica em salvar, isso cria um rascunho de desenvolvimento e, em seguida, a implantação é o que torna suas alterações públicas então aqui, de acordo com as regras, vamos definir permissões de leitura e escrita e, em seguida, salvar a próxima, vamos Go para autenticação e vamos permitir que os usuários façam login anonimamente, então Go editar essa ativação e salvar o rascunho. Se voltarmos à autenticação, podemos ver que há várias outras opções pelas quais podemos permitir que os usuários façam login usando uma senha de e-mail Facebook google apple API keys JSON web token personalizado autenticação e autenticação de função personalizada então há muitas opções de autenticação aqui então essa é toda a configuração que precisamos acessar nosso banco de dados MongoDB Atlas em seguida vamos construir algumas funções bem então, no lado esquerdo, em compilação, Go as funções e, em seguida, criar uma nova função, vamos nomear a primeira para obter todos os produtos e vamos deixar o padrão em todo o resto aqui e d Go para o editor de funções é onde podemos realmente escrever nosso código de função, então temos este comentário aqui que nos dá alguns exemplos de coisas que podemos fazer, podemos obter nossa coleção e podemos usar uma para encontrar e depois fazer algo com isso documento, tudo bem, então vamos usar um pouco disso, vamos mudar isso de var para let, então vamos deixar a conexão igual a context.services.getmongodb Atlas e o nome do banco de dados, então nosso nome de banco de dados é store e a coleção à qual queremos nos conectar é produtos e, portanto, o que queremos fazer aqui é obter todos os nossos produtos corretamente para que, em vez de retornar argumentos, os argumentos possam ser passados para qualquer API , mas para essa não estamos vai usar qualquer argumento, vamos apenas devolver todos os produtos, então, em nosso retorno, vamos retornar collection dot find e depois tudo, então essa será uma função muito básica sem servidor que fornece uma rota de API que retorna todos os nossos produtos para que possamos testar isso se Go aqui na parte inferior podemos clicar em executar e então devemos ter todos os nossos produtos bons, então isso diz uma matriz de cada produto. Go salvar este rascunho e vamos criar outra função então de volta às funções vamos adicionar ou criar outra nova função esta vai ser obter um produto e então Go ao editor de funções este vai ser muito semelhante, mudaremos var para permitir coleção e a mesma coisa, obteremos nosso banco de dados, que é loja, e o nome da coleção, que é produtos, e desta vez só queremos obter um único produto e vamos usar um argumento que é passado para ele o argumento será o ID do produto então, desta vez, vamos retornar collection dot find an e aqui vamos encontrar por ID , então é ID de sublinhado e depois, porque esse é um Objeto BSON , vamos dizer BSON ID objeto de ponto e depois passar para esse nosso ar Go aqui, desta vez, vamos abrir nosso console, deixe-me expandir isso em nossa exportação, aqui vamos mudar Olá, mundo para o ID de objeto que copiei antes e depois clique em executar agora em nosso resultado, só devemos ter um item que é o ID que estamos procurando, então vamos salvar isso como rascunho também e voltar às funções, agora podemos ver que temos duas funções obter todos os produtos e obter um produto então temos nossas rotas de API configuradas, então agora Go em frente e revisar o rascunho e distribuir isso então é isso que ele Go implantar eu não estou passando por tudo isso apenas confie que ele fará tudo o que precisamos, então nós vamos implantar isso e a implantação foi bem-sucedida, então agora vamos ver como podemos realmente utilizar essa função sem servidor no lado do cliente então, em compilação, Go para sdks e podemos ver todos esses sdks que estão disponíveis para nós, temos o SDK do Node.js web, temos um Swift Android Java Android Kotlin iOS e o objetivo do iOS c e, em seguida, há uma rede de pontos na beta ; portanto, dependendo da sua pilha de tecnologia, se estiver usando o node.js no backend, é claro que você gostaria do node.js ou se estiver acessando isso de um site apenas usando o JavaScript antigo simples ou talvez o React , você pode usar a versão da web de forma muito simples para começar npm install realm dash web e apenas algumas linhas de código para conectá-lo, então Go em frente e Go por essas etapas e conectá-lo nosso aplicativo front-end está bem, então eu tenho uma pasta de projeto em branco aberta aqui e vamos começar colocando um aplicativo próximo.js instalado e executando nós vamos usar npx create dash próximo aplicativo de traço nós' vamos usar um exemplo, então travessão e e vamos começar com tailwind, então isso fará com que o tailwind css seja configurado e irá para nós então vamos colocar isso neste diretório então colocaremos um ponto no final, em seguida, pressione Enter e eu acelero esse processo por um tempo demais, então temos isso instalado em seguida, vamos para npm i r ealm dash web, agora vamos conectar e usar nossa função de realm para trazer alguns dados, então nas páginas que Go para Index.js deixe-me fechar todas as barras laterais no terminal, então esse é um aplicativo Next.js muito básico é claro que isso foi construído no React , então temos o nosso componente inicial, então, principalmente, vamos nos livre de tudo aqui para que tenhamos uma lista em branco para começar também não precisamos desse rodapé, então nos eliminaremos de que tudo bem então dentro do principal eventualmente vamos listar nossos produtos aqui então vamos apenas dizer produtos aqui por enquanto vamos trabalhar na função que traz os produtos então vamos usar o efeito de uso então nós' precisaremos importar isso, então importe o efeito de uso e isso será da React então em nossa função vamos usar o efeito de uso que eu gostaria de ter certeza de que essa é uma função assíncrona, a primeira coisa que vamos fazer é obter nosso domínio ID do aplicativo, então vamos rotular esse ID do aplicativo do realm e isso será igual a uma string . Então, de volta ao Realm, se Go aqui para produzir cts há um pequeno botão de cópia do ID do aplicativo, então vamos copiar isso e, de volta ao VS Code , vamos colar isso aqui agora, o ideal é colocar isso em uma variável de ambiente, mas para testes, vamos apenas deixar aqui, então nós criaremos outra constante essa será a aplicação que será igual a um novo aplicativo de ponto de domínio e então aqui passaremos nosso ID que é o ID do nosso aplicativo de domínio agora precisamos importar o domínio também para de volta aqui, vamos importar estrela como realm do realm web bem, agora que temos nosso aplicativo, a próxima coisa que precisamos fazer é obter algumas credenciais de login, então para isso vamos dizer que as credenciais const serão iguais às credenciais do realm dot dot anônimo e esse é um método, então vamos executar isso, como ativamos a autenticação anônima, isso agora dará a todos os usuários acesso anônimo então, em seguida, Go fazer uma captura de tentativa em nossa tentativa, vamos criar uma const de usuário que vai ser igual a aguardar o login do aplicativo e depois passar nossas credenciais onc e temos que criar uma const de todos os produtos e isso é igual a aguardar funções de ponto do usuário e então vamos chamar nossa função sem servidor e chamamos isso de obter todos os produtos, então esta é a função sem servidor real que criamos no painel do domínio para que todos os produtos retornem para nós todos os produtos bem, agora que temos todos os produtos que precisamos armazenar isso em algum lugar provavelmente em um estado, então vamos importar também o estado de uso e, acima do efeito de uso, vamos criar nosso estado então nós diremos const e diremos produtos e definir produtos que vai para o estado de uso igual e inicialmente será uma array em branco então agora, neste ponto, podemos definir nossos produtos para que possamos chamar produtos definidos e passaremos todos os produtos agora em nossa captura let's console.error o erro se houver um está bem, então agora devemos ter produtos que podemos usar aqui, então aqui podemos dizer produtos, então vamos verificar se há produto se temos produtos então produtos e então se houver produtos, então nós vamos fazer algo com eles, então diremos ponto de produtos e esse deve ser mapa de ponto de produtos de produtos então teremos cada produto então vamos apenas listar cada produto por enquanto vamos apenas criar um número então dentro do número diremos o nome do ponto do produto e vamos apenas listar cada um que também precisamos adicionar uma chave para que ele dirá que a chave vai ser igual ao ID ponto do produto oh e precisamos retornar isso, então certifique-se de retornar salvar e então Go ao nosso console e vejamos o que obtemos vamos fazer npm run dev isso está sendo executado no localhost 3000 então Go em frente e abrir isso e temos um erro aqui Go voltar e verificar se isso está sendo executado obter todos obter todos os produtos que eu considero há um erro de ortografia lá, então deve ser obter todos os produtos com um s no final e eu temos outro erro de digitação aqui obter todos os produtos [Música] que tal isso, vamos tentar novamente e lá Go nós agora temos uma lista de todos os nossos nomes de produtos MongoDB realm são um recurso surpreendente e nós apenas raspamos a superfície que construímos nosso b Verifique a API final usando as funções de domínio do MongoDB conectadas a ela a partir de um aplicativo próximo.js e leia com êxito os dados do nosso banco de dados MongoDB Atlas usando o domínio do MongoDB no próximo vídeo terminaremos a construção de front-end do nosso projeto de e-commerce para o qual vamos crie todas as páginas de produtos dos componentes e modele tudo usando tailwind css, portanto, certifique-se de continuar assistindo para que o link para a lista de reprodução da série esteja na descrição abaixo se você tiver alguma dúvida ou feedback, visite nossos fóruns da comunidade em community.MongoDB.com nossa comunidade e funcionários estão prontos para responder a suas perguntas e, se este vídeo foi útil, não deixe de conferir e se inscrever em [Música] [Música] você

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Vídeo
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Tipos de dados do Realm


May 09, 2022 | 8 min read
Tutorial

Construindo um aplicativo Android


Aug 12, 2024 | 6 min read
Tutorial

Crie uma API habilitada para dados personalizados no MongoDB Atlas em 10 minutos ou menos


Sep 23, 2022 | 8 min read
Tutorial

Usando Expo e Realm React Native com expo-dev-client


Aug 26, 2022 | 3 min read