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.
Glossário
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.



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.

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:



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

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?


