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: Criação dos controladores para cada operação do CRUD

Capítulo 91

Tempo estimado de leitura: 4 minutos

Audio Icon

Ouça em áudio

0:00 / 0:00

Uma das partes mais cruciais no desenvolvimento de APIs em NodeJS é a criação de controladores para cada operação do CRUD (Create, Read, Update, Delete). Esses controladores são responsáveis por gerenciar a lógica de negócios de cada operação e interagir com o banco de dados MongoDB. Neste capítulo, vamos detalhar o processo de criação desses controladores.

Controlador Create

O controlador Create é responsável por criar novos registros no banco de dados. Em NodeJS, isso é feito usando a função 'save' do modelo Mongoose. O código para um controlador Create pode ser algo como:


  exports.create = function(req, res) {
    var newRecord = new Model(req.body);
    newRecord.save(function(err, record) {
      if (err) {
        res.send(err);
      }
      res.json(record);
    });
  };
  

Este código cria um novo registro usando os dados recebidos na solicitação HTTP e, em seguida, salva o registro no banco de dados. Se um erro ocorrer durante esse processo, ele será capturado e enviado como resposta. Caso contrário, o novo registro é enviado como resposta.

Controlador Read

O controlador Read é responsável por ler registros do banco de dados. Isso pode ser feito usando a função 'find' do modelo Mongoose. O código para um controlador Read pode ser algo como:


  exports.read = function(req, res) {
    Model.find({}, function(err, records) {
      if (err) {
        res.send(err);
      }
      res.json(records);
    });
  };
  

Este código lê todos os registros do banco de dados e os envia como resposta. Se um erro ocorrer durante esse processo, ele será capturado e enviado como resposta.

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

Controlador Update

O controlador Update é responsável por atualizar registros existentes no banco de dados. Isso pode ser feito usando a função 'findByIdAndUpdate' do modelo Mongoose. O código para um controlador Update pode ser algo como:


  exports.update = function(req, res) {
    Model.findByIdAndUpdate(req.params.id, req.body, {new: true}, function(err, record) {
      if (err) {
        res.send(err);
      }
      res.json(record);
    });
  };
  

Este código atualiza um registro específico, identificado pelo ID passado como parâmetro na solicitação HTTP. Os novos dados para o registro são passados no corpo da solicitação. Se um erro ocorrer durante esse processo, ele será capturado e enviado como resposta. Caso contrário, o registro atualizado é enviado como resposta.

Controlador Delete

O controlador Delete é responsável por excluir registros do banco de dados. Isso pode ser feito usando a função 'findByIdAndRemove' do modelo Mongoose. O código para um controlador Delete pode ser algo como:


  exports.delete = function(req, res) {
    Model.findByIdAndRemove(req.params.id, function(err, record) {
      if (err) {
        res.send(err);
      }
      res.json({ message: 'Record successfully deleted' });
    });
  };
  

Este código exclui um registro específico, identificado pelo ID passado como parâmetro na solicitação HTTP. Se um erro ocorrer durante esse processo, ele será capturado e enviado como resposta. Caso contrário, uma mensagem de sucesso é enviada como resposta.

Em resumo, a criação de controladores para cada operação do CRUD em NodeJS envolve a definição de funções que manipulam as solicitações HTTP e interagem com o banco de dados MongoDB. Cada controlador é responsável por uma operação específica do CRUD e deve lidar com possíveis erros que possam ocorrer durante o processo.

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

_Qual é a função do controlador 'Update' no CRUD com NodeJS e MongoDB?

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

Você errou! Tente novamente.

O controlador 'Update' no CRUD é responsável por atualizar registros existentes no banco de dados. Ele utiliza métodos como 'findByIdAndUpdate' no Mongoose para encontrar e atualizar registros específicos com base nos dados fornecidos na solicitação HTTP.

Próximo capitúlo

Criando um CRUD com NodeJS e MongoDB: Implementação das funções para criar, ler, atualizar e deletar dados

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