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

Página 91

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.

Now answer the exercise about the content:

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

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

You missed! Try again.

Next page of the Free Ebook:

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

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