16.5. Criando um CRUD com NodeJS e MongoDB: Conexão com o banco de dados MongoDB

Nesta seção do nosso e-book, vamos abordar um dos aspectos mais importantes do desenvolvimento de APIs em NodeJS: a criação de um CRUD (Create, Read, Update, Delete) com NodeJS e MongoDB. Este é um passo crucial para qualquer desenvolvedor que deseja construir aplicações robustas e escaláveis.

Conexão com o banco de dados MongoDB

Antes de começarmos a criar nosso CRUD, precisamos estabelecer uma conexão com o banco de dados MongoDB. Existem várias maneiras de fazer isso, mas uma das mais comuns é usar o pacote Mongoose, que é um ODM (Object Data Modeling) para MongoDB e Node.js.

Para instalar o Mongoose, você pode usar o npm (Node Package Manager) com o seguinte comando:

npm install mongoose

Depois de instalado, você pode começar a usá-lo para se conectar ao 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 se conecta a uma instância local do MongoDB que está executando no seu computador. Se você estiver usando um serviço de banco de dados MongoDB hospedado, como o MongoDB Atlas, você precisará substituir 'mongodb://localhost/test' pela URL de conexão fornecida pelo seu serviço de hospedagem.

Criando um CRUD com NodeJS e MongoDB

Uma vez que temos nossa conexão com o MongoDB estabelecida, podemos começar a criar nosso CRUD. Para fazer isso, primeiro precisamos definir um esquema para nossos dados. Em Mongoose, um esquema é uma estrutura que define a forma dos documentos dentro de uma coleção MongoDB.

Aqui está um exemplo de como você pode definir um esquema para um blog post:


    const blogSchema = new mongoose.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
      }
    });
    

Uma vez que temos nosso esquema definido, podemos criar um modelo a partir dele. Um modelo é uma classe com a qual construímos documentos. No exemplo a seguir, criamos um modelo 'Blog' a partir do nosso esquema 'blogSchema':


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

Com nosso modelo em mãos, podemos começar a criar, ler, atualizar e deletar documentos. Aqui está um exemplo de como você pode criar um novo documento usando nosso modelo 'Blog':


    const blogPost = new Blog({ title: 'My First Post', author: 'John Doe', body: 'This is my first blog post.' });
    blogPost.save(function (err, blogPost) {
      if (err) return console.error(err);
      console.log(blogPost.title + " saved to blog collection.");
    });
    

Para ler documentos, você pode usar o método 'find'. Aqui está um exemplo de como você pode encontrar todos os posts de blog de um determinado autor:


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

Para atualizar um documento, você pode usar o método 'updateOne'. Aqui está um exemplo de como você pode atualizar o título de um post de blog:


    Blog.updateOne({ title: 'My First Post' }, { title: 'My Updated Post' }, function(err, res) {
      if (err) return console.error(err);
      console.log(res);
    });
    

Finalmente, para deletar um documento, você pode usar o método 'deleteOne'. Aqui está um exemplo de como você pode deletar um post de blog:


    Blog.deleteOne({ title: 'My Updated Post' }, function(err) {
      if (err) return console.error(err);
      console.log('Post deleted');
    });
    

Com isso, concluímos nossa introdução à criação de um CRUD com NodeJS e MongoDB. No próximo capítulo, vamos explorar mais detalhadamente cada uma dessas operações e aprender como lidar com erros e validar dados.

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

O que é o Mongoose no contexto do desenvolvimento 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: Criação das rotas para o CRUD

Próxima página do Ebook Gratuito:

90Criando um CRUD com NodeJS e MongoDB: Criação das rotas para o CRUD

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