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

Página 89

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

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.

Now answer the exercise about the content:

O que é o Mongoose no contexto do desenvolvimento com NodeJS e MongoDB?

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

You missed! Try again.

Next page of the Free Ebook:

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

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