Integrar NodeJS com MongoDB é uma etapa essencial no desenvolvimento de APIs robustas e escaláveis. MongoDB é um banco de dados NoSQL baseado em documentos que oferece alto desempenho, alta disponibilidade e fácil escalabilidade. Ele funciona bem com NodeJS, proporcionando uma maneira eficiente de gerenciar e manipular dados.

1. Instalação do MongoDB

Antes de começarmos a integrar MongoDB com NodeJS, precisamos ter certeza de que o MongoDB está instalado em nosso sistema. Se você ainda não o instalou, pode baixá-lo do site oficial do MongoDB. Após a instalação, você pode iniciar o MongoDB em um terminal separado e deixá-lo rodando em segundo plano.

2. Configurando o Mongoose

Mongoose é uma biblioteca do NodeJS que oferece uma solução direta, baseada em esquemas, para modelar os dados do seu aplicativo. Ele fornece uma maneira fácil de conectar nosso aplicativo NodeJS ao MongoDB. Para instalar o Mongoose, você pode usar o npm (Node Package Manager) com o seguinte comando: npm install mongoose.

Depois de instalado, precisamos configurá-lo para se conectar ao nosso MongoDB. Aqui está um exemplo de como fazer isso:

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true, useUnifiedTopology: true});

Este código irá conectar seu aplicativo NodeJS ao banco de dados MongoDB chamado 'test' que está sendo executado localmente em sua máquina. As opções useNewUrlParser e useUnifiedTopology são apenas para evitar avisos de depreciação.

3. Criação de Modelos

Com o Mongoose, podemos definir o que chamamos de 'Modelos' para nossos dados. Um modelo é uma classe com a qual construímos documentos. Em outras palavras, modelos são como blueprints para nossos dados. Aqui está um exemplo de como definir um modelo:

const Schema = mongoose.Schema;

const blogSchema = new Schema({
  title:  String,
  author: String,
  body:   String,
  comments: [{ body: String, date: Date }],
  date: { type: Date, default: Date.now },
  hidden: Boolean,
  meta: {
    votes: Number,
    favs:  Number
  }
});

const Blog = mongoose.model('Blog', blogSchema);

Neste exemplo, criamos um modelo para um blog. Cada blog terá um título, autor, corpo, uma lista de comentários, uma data, um booleano oculto e alguns metadados. Cada um desses campos tem um tipo específico associado a ele.

4. Criação e Leitura de Documentos

Uma vez que temos nosso modelo, podemos começar a criar documentos. Aqui está um exemplo de como criar um novo documento:

const myBlog = new Blog({ title: 'My First Blog', author: 'John Doe', body: 'Hello, world!' });
myBlog.save(function (err, myBlog) {
  if (err) return console.error(err);
  console.log('Blog saved successfully!');
});

Para ler documentos, podemos usar o método find() em nosso modelo:

Blog.find({ author: 'John Doe' }, function(err, blogs) {
  if (err) return console.error(err);
  console.log(blogs);
});

5. Atualização e Exclusão de Documentos

O Mongoose também fornece métodos para atualizar e excluir documentos. Aqui está um exemplo de como atualizar um documento:

Blog.updateOne({ author: 'John Doe' }, { title: 'Updated Blog Title' }, function(err, res) {
  if (err) return console.error(err);
  console.log(res);
});

E aqui está um exemplo de como excluir um documento:

Blog.deleteOne({ author: 'John Doe' }, function(err) {
  if (err) return console.error(err);
  console.log('Blog deleted successfully!');
});

Integrar NodeJS com MongoDB é uma tarefa relativamente simples, mas poderosa. Com a capacidade de criar, ler, atualizar e excluir documentos, você pode construir APIs robustas e escaláveis que podem lidar com grandes quantidades de dados de maneira eficiente.

Agora responda o exercício sobre o conteúdo:

Qual é o papel do Mongoose no desenvolvimento de APIs com NodeJS e MongoDB?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Criando um CRUD com NodeJS e MongoDB

Próxima página do Ebook Gratuito:

84Criando um CRUD com NodeJS e MongoDB

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto