Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Beginner Web en 14 Junio 2020, 02:20



Título: no me funciona el controlador en express
Publicado por: Beginner Web en 14 Junio 2020, 02:20
no me anda el buscar por id, borrar, y modificar

no se q pasa ayuda

Código
  1. const Asistente = require('../models/asistente');
  2.  
  3. const asistenteCtrl = {}
  4.  
  5. //Funciona
  6. asistenteCtrl.createAsistente = async (req, res) => {
  7.    const asistente = new Asistente (req.body);
  8.  
  9.    await asistente.save();
  10.    res.json({
  11.        'status': 'Asistente saved'
  12.    });
  13. }
  14.  
  15. asistenteCtrl.editAsistente = async (req, res) => {
  16.    const asistente =  new Asistente (req.body);
  17.  
  18.    await Asistente.findByIdAndUpdate(req.params.id, {$set: asistente}, {new: true});
  19.    res.json({
  20.        'status': 'Asistente updated'
  21.    })
  22. }
  23.  
  24. asistenteCtrl.deleteAsistente = async (req, res)=>{
  25.    await Asistente.findByIdAndRemove(req.params.id)
  26.    res.json({
  27.        status: 'Asistente removed'
  28.    })
  29. }
  30.  
  31. asistenteCtrl.getAsistente = async (req, res) => {
  32.    const asistente = await Asistente.findById(req.params.id).populate("asistente");
  33.    res.json(asistente);
  34. }
  35.  
  36. //Funciona
  37. asistenteCtrl.getAsistentes = async (req, res) => {
  38.    asistentes = await Asistente.find().populate("asistente");
  39.    res.json(asistentes);
  40. }
  41.  
  42. module.exports = asistenteCtrl;


Título: Re: no me funciona el controlador en express
Publicado por: Beginner Web en 14 Junio 2020, 02:41
nadie?


Título: Re: no me funciona el controlador en express
Publicado por: MinusFour en 14 Junio 2020, 04:52
Si fueras un poco más descriptiva acerca de porque dices que no funciona quizás te podríamos ayudar. Lo único que podemos ver son los middleware de express y que usas mongoose.

No sabemos nada de como estes utilizando Express o que estes enviando en tus peticiones.


Título: Re: no me funciona el controlador en express
Publicado por: [u]nsigned en 16 Junio 2020, 06:22
Como bien dice MinusFour deberias dar mas detalles. Para debuggear mejor tu código te recomiendo que lo metas dentro de bloques try/catch, por ejemplo:

Código
  1. asistenteCtrl.editAsistente = async (req, res) => {
  2.    try {
  3.        const asistente =  new Asistente (req.body);
  4.  
  5.        await Asistente.findByIdAndUpdate(req.params.id, {$set: asistente}, {new: true});
  6.        res.json({
  7.            'status': 'Asistente updated'
  8.        })
  9.    } catch (error) {
  10.        console.error('ERROR asistenteCtrl.editAsistente:', error); //Mostrar el error por consola
  11.        res.status(500).send({'error':'Internal Server Error'}); //Devolver un mensaje de error con Response Status 500
  12.    }
  13. }

Y si te animas lo mejor es usar el debugger de tu IDE, supongo que es Visual Studio Code, y asi te evitas tener que andar haciendo console.logs....