Imagem do artigo Criando um CRUD com NodeJS e MongoDB: Criação dos controladores para cada operação do CRUD

16.7. Criando um CRUD com NodeJS e MongoDB: Criação dos controladores para cada operação do CRUD

Página 91 | Ouça em áudio

16.7. Criando um CRUD com NodeJS e MongoDB: Criação dos controladores para cada operação do CRUD

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.

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.

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

Próxima página do Ebook Gratuito:

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

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