EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
MongoDBchevron-right

Criando aplicativos de remix com a pilha MongoDB

Joel Lord4 min read • Published May 05, 2023 • Updated Apr 02, 2024
MongoDBJavaScript
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
O ecossistema JavaScript se estabilizou ao longo dos anos. Não existe uma nova estrutura todos os dias, mas alguns projetos interessantes ainda estão surgindo. Remix é um desses projetos mais recentes que está recebendo muita força nas comunidades de desenvolvedores. O Remix é baseado no React e permite que você use a mesma base de código entre o backend e o frontend. As páginas são geradas no lado do servidor, mas também atualizadas dinamicamente sem recargas de página inteira. Isso torna seu aplicativo da web muito mais rápido e até mesmo permite que ele seja executado sem o JavaScript ativado. Neste tutorial, você aprenderá como usá-lo com o MongoDB usando a nova pilha MongoDB-Remix.

Requisitos

Para este tutorial, você precisará de:

Sobre a pilha MongoDB-Remix

O Remix usa pilhas de tecnologia para ajudar você a começar seus projetos. Essa pilha, semelhante a outras fornecidas pela equipe Remix, inclui React, TypeScript e Tailwind. Quanto à camada de persistência de dados, ela usa o MongoDB com o driver JavaScript nativo.

Começar

Comece inicializando um novo projeto. Isso pode ser feito com a ferramentacreate-remix, que pode ser iniciada com npx. Responda às perguntas e você terá a estrutura básica para o seu projeto. Observe como usamos o parâmetro--template para carregar a pilha MongoDB Remix (mongodb-developer/remix) do Github. O segundo parâmetro especifica a pasta na qual você deseja criar este projeto.
Isso iniciará o download dos pacotes necessários para seu aplicativo. Depois que tudo for baixado, você poderá cd entrar nesse diretório e fazer uma primeira compilação.
Você está quase pronto para iniciar seu aplicativo. Go para seu MongoDB Atlas (carregado com os dados de exemplo) e obtenha sua connection string.
Na raiz do seu projeto, crie um arquivo.env com a variávelCONNECTION_STRINGe cole sua connection string. Seu arquivo deve ficar assim.
Neste ponto, você deve conseguir apontar seu navegador para http://localhost:3000 e ver o aplicativo em execução.
Pronto! Você tem um aplicativo Remix que se conecta ao seu MongoDB database. Você pode ver a lista de filmes, que obtém dados do MongoDB databasesample_mflix. Ao clicar no título de um filme, você será levado à página de detalhes do filme, que mostra o enredo. Você pode até mesmo adicionar novos filmes à coleção, se desejar.

Explorando o aplicativo

Agora você tem um aplicativo em execução, mas provavelmente desejará se conectar a um banco de dados que mostre algo diferente de dados de exemplo. Nesta seção, descrevemos as várias partes móveis do aplicativo de exemplo e como você pode editá-las para suas finalidades.

Conexão de banco de dados

A conexão com o banco de dados é tratada para você no arquivo/app/utils/db.server.ts. Se você já usou outras pilhas Remix no passado, achará esse código muito familiar. O driver MongoDB usado aqui gerenciará o pool de conexões. A string de conexão é lida de uma variável de ambiente, portanto, não há muito o que fazer aqui.

Lista de filmes

No código de exemplo, nos conectamos ao banco de dadossample_mflixe obtemos os primeiros 10 resultados da coleção. Se você estiver familiarizado com o Remix, talvez já saiba que o código dessa página está localizado no arquivo/app/routes/movies/index.tsx. O aplicativo de exemplo usa a convenção de nomenclatura padrão do sistemade rotas aninhadas Remix.
Nesse arquivo, você verá um carregador no topo. Este carregador é usado para a lista de filmes e a barra de pesquisa dessa página.
Você pode ver que o aplicativo se conecta ao banco de dados dosample_mflixe à collection domovies. A partir daí, ele usa o métodofind para recuperar alguns registros. Ele faz a query da collection com um objeto de solicitação vazio/não filtrado com um limite de 10 para buscar os primeiros documentos 10 do banco de dados. A MongoDB Query API oferece várias maneiras de pesquisar e recuperar dados.
Você pode alterá-los para se conectar ao seu próprio banco de dados e ver o resultado. Você também precisará alterar o MovieComponent (/app/components/movie.tsx) para acomodar os documentos que você obtém do seu banco de dados.

Detalhes do filme

A página de detalhes do filme pode ser encontrada em /app/routes/movies/$movieId.tsx. Você encontrará um código semelhante, mas, desta vez, ele usa o método findOne para recuperar apenas um filme específico.
Novamente, esse código usa os padrões de roteamento Remix para passar o movieId para a função loader.

Adicionar filme

Você deve ter notado o linkAdicionarno menu esquerdo. Isso permite que você crie um novo documento em sua coleção. O código para adicionar o documento pode ser encontrado no arquivo/app/routes/movies/add.tsx. Ali, você verá uma função deação. Esta função será executada quando o formulário for enviado. Isso se deve ao componente Remix Formulário que usamos aqui.
O código recupera os dados do formulário para criar o novo documento e usa o métodoinsertOne do driver para adicionar esse filme à collection. Você notará a utilidade deredirecionamento no final. Isso enviará os usuários para a página de filme recém-criada após a criação da entrada com sucesso.

Próximos passos

É isso! Você tem um aplicativo em execução e sabe como personalizá-lo para se conectar ao seu banco de dados. Se você quiser saber mais sobre como usar o driver nativo, use o link na barra de navegação à esquerda do aplicativo de exemplo ou vá direto para a documentação. Tente adicionar páginas para atualizar e excluir uma entrada de sua collection. Ele deve estar usando os mesmos padrões que você vê no modelo. Se precisar de ajuda com o modelo, pergunte em nossos fóruns da comunidade; teremos prazer em ajudar.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Início rápido

MongoDB e Node.js 3.3.2 Tutorial - Operações CRUD


Apr 20, 2023 | 17 min read
Tutorial

Analise dados de séries temporais com Python e MongoDB usando PyMongoArrow e Pandas


Sep 21, 2023 | 6 min read
Tutorial

Unindo coleções no MongoDB com .NET Core e um pipeline de agregação


Feb 03, 2023 | 7 min read
Tutorial

Usando MongoDB com Apache Airflow


Jun 12, 2023 | 8 min read
Sumário