15. Integrando NodeJS com MongoDB

Página 83

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

8416. Criando um CRUD com NodeJS e MongoDB

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text