Facebook pixel
>Blog>Programação
Programação

Mongo Express: entenda como usar esse web-framework para Node.js

Para quem trabalha com back-end ou front-end em JavaScript, conhecer os frameworks de desenvolvimento é algo muito indicado.

Para quem trabalha com back-end ou front-end em JavaScript, conhecer os frameworks de desenvolvimento é algo muito indicado. Isso porque a maior parte das aplicações reúne diferentes estruturas e APIs para funcionarem da maneira adequada. Com isso, um dos conhecidos indicados é o do Mongo Express. 

Explicando de maneira geral, Mongo Express reúne tanto as tecnologias do MongoDB quanto do Express em Node.js, que também faz parte dos frameworks que podem ser utilizados com a linguagem JavaScript.

Entender a usabilidade dessas tecnologias é muito importante para quem deseja entrar para o mundo da programação e atuar como desenvolvedor full-stack, aquele que entende tanto de front-end quanto de back-end.

Entenda melhor sobre o Mongo Express e veja como unir essas duas tecnologias para avançar nos seus estudos em desenvolvimento web. 

O que é o Mongo Express

Mongo Express é o nome dado a interface que administra o MongoDB no servidor Web. Basicamente, reúne o Express.js e o MongoDB, relacionando os dois para que se crie uma aplicação Web funcional, com servidor e um banco de dados. 

O Express.js (ou simplesmente Express) é a estrutura do servidor para a aplicação Web, enquanto o MongoDB é a plataforma de banco de dados não-relacional utilizada para aquela aplicação. 

Quando se fala em Mong Express, portanto, é a maneira de conectar o banco de dados com o servidor, considerando a transmissão e recebimento de dados entre a aplicação e o banco utilizado para o armazenamento dessas informações. 

Um ponto importante é que o Express.js é utilizado juntamente com o Node.js, o framework de desenvolvimento back-end do JavaScript. 

Assim sendo, usa-se o driver MongoDB Node.js para realizar a conexão com banco de dados. Por isso, entender como utilizar o Node.js também é muito importante para quem desenvolve aplicações Web com JavaScript. 

Entendendo as aplicações de cada um

Depois das explicações gerais sobre o uso do MongoDB e do Express, vamos entender mais a fundo o que cada uma dessas ferramentas possibilita para o desenvolvimento!

O que é JavaScript

O JavaScript é uma linguagem de programação muito popular e que vem ganhando cada vez mais importância no mercado graças a sua possibilidade de aplicação tanto no front-end quanto no back-end. 

Graças aos frameworks criados em JavaScript, os desenvolvedores conseguem aplicar lógica de programação e de negócios em diferentes camadas de uma aplicação. Ou seja, é uma linguagem completa e o desenvolvedor que a aprende consegue elaborar diferentes projetos a partir dela. 

Além disso, a curva de aprendizado dessa linguagem é considerada rápida, pois sua sintaxe é simples de entender e de aplicar. Também pode ser utilizada tanto para programação estruturada quanto para orientada a objetos. 

De maneira geral, aprender JavaScript é uma ótima opção para quem deseja entrar na área da programação, pois é possível aprender tanto front-end quanto back-end com apenas uma linguagem e seus frameworks. 

O que é o Node.Js

Node.Js é um ambiente de execução JavaScript server-side, ou seja, que conecta o lado do servidor. Por isso, é utilizado para fazer o back-end da aplicação, a partir da sintaxe do JavaScript. 

Muita gente pensa que o Node.Js é um framework mas, na verdade, funciona como um ambiente de máquina virtual. 

Nesse ambiente de execução, interpreta e executa scripts sem precisar de um navegador, o que permite a criação de aplicações Web diversas, principalmente APIs e sistemas criados com microsserviços, muito comum atualmente. 

Um ponto importante do Node.Js é que ele utiliza uma thread única (single-thread, formando um event loop) para execução do código. Dessa maneira, a alocação dos dados é feita apenas uma vez em todo o tempo de execução sem tornar o processamento mais lento, pois as ações ocorrem assíncronamente. 

Em linguagens com mais de uma thread, como o PHP, cada nova requisição cria uma nova thread em uma fila de processamento. Ou seja, só é executada quando a que já está executando for finalizada. 

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Dessa maneira, o Node.Js consegue criar aplicações ágeis com uma única thread do lado do servidor, o que é muito importante para o back-end de muitas aplicações. 

Como vimos, não é um framework mas, sim, um software livre e gratuito para ser utilizado em aplicações em JavaScript. Alguns exemplos de frameworks de JavaScript são o React e o Vue.Js, ambas utilizadas para front-end. 

O que é Express e para que serve?

O Express.js, por sua vez, é o framework que pode ser utilizado junto com o Node.js contribuindo com a criação mais ágil do back-end e de sistemas, podendo ser utilizado também para projetos full-stack. 

Assim, quem deseja trabalhar com JavaScript tanto no front-end quanto no back-end, precisa conhecer os frameworks que contribuem com esse trabalho, como é o Express. 

O Express é considerado um framework completo e fácil de utilizar, focado na criação rápida de aplicações com arquivos e pastas. As rotas de conexão também podem ser feitas de maneira facilitada. 

O tratamento de exceções também pode ser feito diretamente no framework Express, o que facilita o processo de debug e a criação de aplicações mais qualificadas para os usuários. 

Aprender um framework é um passo muito importante para quem quer ter uma visão completa da construção de aplicações. Por isso, depois de aprender sobre JavaScript (a base), é interessante avançar para o Node.Js e, depois, para o Express. Isso sem falar em outros frameworks de front-end, que podem ajudar muito nesse processo. 

O que é MongoDB

MongoDB é um banco de dados opensource NoSQL (not only SQL), ou seja, é um banco de dados não-relacional. Diferentes dos bancos relacionais, em colunas e linhas, os bancos não-relacionais organizam os dados em documentos utilizando orientação a objetos. 

Essas características tornam os bancos mais escaláveis e tornam as consultas mais facilitadas, o que é algo importante para bancos com grande quantidade de dados. Além disso, também adiciona flexibilidade ao banco, permitindo que mudanças nas lógicas de negócio possam ser seguidas facilmente pelo banco. 

ilustração demonstrando sql e nosql
Diagrama de diferenças entre a organização de dados relacional e noSQL (não relacional), em que essa última é feita em orientação a objetos com arquivos diferentes. Fonte

Para a busca, utilizou-se o formato de chave-valor, a partir do JSON (JavaScript Object Notation). Ou seja, é possível fazer as consultas a partir com a linguagem JavaScript. 

Essa característica também é o que permite conectar o back-end em Node.js com o MongoDB utilizando o Express com a linguagem JavaScript. 

Ou seja, o desenvolvedor que trabalha com JavaScript pode se tornar um full stack, controlando a aplicação desde o front-end até o back-end e o banco de dados não-relacional. Esses conhecimentos são extremamente importantes para o mercado e podem ser um grande diferencial dentro da área de tecnologia. 

Como conectar Express e MongoDB?

Depois de entender o papel de cada um dos elementos na aplicação, vamos ver como fazer de fato a conexão do MongoDB utilizando o Express. É preciso, antes de tudo, fazer a instalação e a configuração do ambiente, instalando o Node.js e o NPM, que é o gerenciador de pacotes do Node.

Instalação do Node.js

Para instalar o Node.js é preciso entrar no site oficial e baixar a versão mais recente, no botão verde e escolher seu sistema operacional. A versão LTS é a mais recomendada pois é um executável que irá instalar o Node.js e o NPM. 

Configuração do gerenciador de pacotes

Com o Node.js e o NPM já instalados, é preciso fazer a configuração de NPM e, depois, a configuração para o uso do Express. Lembre-se que é o framework que irá fazer a conexão entre o banco de dados MongoDB e o Node.js. 

Para fazer isso, primeiro crie uma pasta para guardar os projetos que irão utilizar o Node.

Tudo o que for utilizar o Node.js precisa estar dentro dessa pasta, que terá o NPM instalado e configurado, além do Express. 

Abra a pasta criada, abra o terminal de comando mantendo a tecla Shift pressionada e clicando com o botão direito do mouse. Clique na opção “Abrir a janela de comando aqui”. 

Com o terminal aberto, execute o seguinte comando: 

npm install -g express-generator

Depois de fazer a instalação, é preciso executá-lo. Para isso, utilize o seguinte comando:

express -e –git nomeDoProjeto (criando o projeto e versionando com o Git)

Agora, é preciso instalar as dependências do NPM no projeto com os comandos:

cd nomeDoProjeto

npm install

npm start

Com isso feito, será iniciada a aplicação no localhost:3000, que você deve acessar em seu navegador.

Configurando acessos do MongoDB

Após fazer a configuração do NPM é preciso também configurar o MongoDB. Para isso, também é preciso utilizar o Mongoose, que será instalado juntamente. O Mongoose é uma biblioteca orientada a objetos que cria, junto com o Express, a conexão entre o Node.js e o banco de dados. 

Para isso, rode no terminal:

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

npm i mongodb mongoose (baixando as dependências)

Agora, crie a pasta em que serão armazenados os arquivos de dados:

mkdir nomeDaPasta (criando o diretório, geralmente com nome “data”, referência a dados)

Configurando o Banco de Dados

O MongoDB também precisa ser baixado. Para isso, entre no site oficial do Mongo e baixar a versão Community Server, a mais utilizada e também a que é gratuita. Procure pelo seu sistema operacional e baixe a versão mais recente. 

Faça a instalação do executável. Na pasta de instalação do MongoDB, em Arquivos de Programas, abra a pasta bin e abra novamente o Prompt de Comando. Agora, é preciso mudar o caminho que está indicado, fazendo o caminho para o seu projeto. 

mongod –dbpath c:/node/nomeDoProjeto/data

Esse comando inicia o servidor Mongo. Na primeira vez, pode demorar um pouco, mas nas próximas já é um processo mais rápido. 

Depois disso, vamos conectar o “lado” do cliente, abrindo outro prompt de comando nessa mesma pasta bin. Execute o seguinte comando: 

mongo

Com esses dois processos, o MongoDB está executando o servidor da máquina enquanto o Mongo executa o cliente. Ao fazer esse processo, você conecta os dois. Para verificar isso, abra a janela do prompt de comando (a primeira dessa etapa) e terá uma sinalização de conexão estabelecida. 

Na última janela aberta (a que configurou o mongo), execute:

use nomeDoProjeto

Isso indica que a base utilizada será a desse projeto, porém só será utilizado de fato quando forem criados os registros. 

Vale a pena comentar que serão criados vários arquivos dentro do diretório “data” e eles não devem entrar no versionamento de código. Por isso, na hora de versionar, é preciso incluir a palavra data no arquivo .gitignore no diretório raiz do projeto. 

Conectando MongoDB e Node.js com o Express

Diagrama exemplificando as conexões entre mongodb e nodejs
Diagrama exemplificando as conexões. Fonte 

Como vimos, o Express foi iniciado no começo desse processo. Toda a configuração do Express fica no arquivo app.js, na pasta do seu projeto. 

Esse arquivo é responsável por diversas execuções dentro da aplicação, porém as conexões são feitas a partir do Node.js e do MongoDB, sendo esse arquivo responsável por conectar, no back-end, essas duas coisas (sendo um framework de back-end). 

Dessa maneira, agora iremos conectar o MongoDB com o Node.js. Para isso, cria-se um arquivo dentro da pasta da aplicação chamado db.js (database). Abrindo esse arquivo no editor de código, adicione as seguintes linhas:

const mongoose = require(‘mongoose’); (cria-se a constante)

mongoose.connect(‘mongodb://localhost:27017/nomeDoProjeto’); (faz a conexão na porta padrão)

Depois disso, tudo o que for adicionado após essa etapa são as regras de negócio do banco. Ou seja, definem-se as constantes que serão utilizadas para armazenar cada tipo de dado. 

Aprenda Programação com a Awari

A área de tecnologia é uma das mais amplas atualmente, sendo possível atuar em diferentes tipos de projetos e com diferentes tecnologias. 

Entrar para essa área pode ser um desafio: afinal, são tantas coisas para aprender que pode parecer algo complexo. Porém, com a orientação correta é possível se inserir no mercado de maneira rápida e continuar estudando para melhorar cada dia mais. 

É possível trabalhar com front-end, back-end, aplicações web, aplicativos mobile, área de dados e muitos outros tópicos. Isso sem falar das diferentes linguagens de programação que podem ser aprendidas para tirar os projetos do papel. 

A área da tecnologia é uma das que mais cresce atualmente justamente pela infinidade de possibilidades, projetos e ideias. Quer fazer parte disso?

Conheça nossa Trilha de Conhecimento de Programação e entre para o setor com maior crescimento atualmente!

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Sobre o autor

A melhor plataforma para aprender tecnologia no Brasil

A Awari é a melhor maneira de aprender tecnologia no Brasil.
Faça parte e tenha acesso a cursos com aulas ao vivo e mentorias individuais com os melhores profissionais do mercado.