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.
Próxima página do Ebook Gratuito: