Test Foro de elhacker.net SMF 2.1

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

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

no se q pasa ayuda

Código (cpp) [Seleccionar]
const Asistente = require('../models/asistente');

const asistenteCtrl = {}

//Funciona
asistenteCtrl.createAsistente = async (req, res) => {
    const asistente = new Asistente (req.body);

    await asistente.save();
    res.json({
        'status': 'Asistente saved'
    });
}

asistenteCtrl.editAsistente = async (req, res) => {
    const asistente =  new Asistente (req.body);

    await Asistente.findByIdAndUpdate(req.params.id, {$set: asistente}, {new: true});
    res.json({
        'status': 'Asistente updated'
    })
}

asistenteCtrl.deleteAsistente = async (req, res)=>{
    await Asistente.findByIdAndRemove(req.params.id)
    res.json({
        status: 'Asistente removed'
    })
}

asistenteCtrl.getAsistente = async (req, res) => {
    const asistente = await Asistente.findById(req.params.id).populate("asistente");
    res.json(asistente);
}

//Funciona
asistenteCtrl.getAsistentes = async (req, res) => {
    asistentes = await Asistente.find().populate("asistente");
    res.json(asistentes);
}

module.exports = asistenteCtrl;
Título: Re: no me funciona el controlador en express
Publicado por: Beginner Web en 14 Junio 2020, 02:41 AM
nadie?
Título: Re: no me funciona el controlador en express
Publicado por: MinusFour en 14 Junio 2020, 04:52 AM
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 AM
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 (javascript) [Seleccionar]
asistenteCtrl.editAsistente = async (req, res) => {
    try {
        const asistente =  new Asistente (req.body);

        await Asistente.findByIdAndUpdate(req.params.id, {$set: asistente}, {new: true});
        res.json({
            'status': 'Asistente updated'
        })
    } catch (error) {
        console.error('ERROR asistenteCtrl.editAsistente:', error); //Mostrar el error por consola
        res.status(500).send({'error':'Internal Server Error'}); //Devolver un mensaje de error con Response Status 500
    }
}


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....