Capa do Ebook gratuito Como criar APIs em NodeJS do básico ao avançado

Como criar APIs em NodeJS do básico ao avançado

Novo curso

149 páginas

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

Capítulo 89

Tempo estimado de leitura: 4 minutos

Audio Icon

Ouça em áudio

0:00 / 0:00
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.

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

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.

Mongoose é um pacote que atua como uma ferramenta de ODM (Object Data Modeling) para Node.js, permitindo que desenvolvedores estabeleçam uma conexão com o banco de dados MongoDB e modelem seus dados de forma fácil e intuitiva.

Próximo capitúlo

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

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.