Al hacer una solicitud de publicación me sale este error:
UnhandledPromiseRejectionWarning: Rechazo de promesa no controlado.
Si alguien pudiera explicar por qué sucede esto, se lo agradecería :) Gracias.
ACTUALIZAR
Entonces, este código se publica con éxito. Pero, cuando elimino el comentario del código de validación, aparece el mismo error...
router.post("/", async (req, res) => { //let client = validate(req.body); //if (client.error) { //res.status(400).json(result.error); //return; //} let client = new Client(req.body); try { let savedClient = await client.save(); res.location(`/${savedClient._id}`).status(201).json(savedClient); } catch (error) { res.status(500).json(savedClient.error); } });No veo dónde inicializas savedClient y creo que tu error radica en tu captura. Estás haciendo referencia a un objeto ( savedClient ) que no parece estar dentro del alcance.
Prueba esto:
router.post("/", async (req, res) => { let client = new Client(req.body); try { let savedClient = await client.save(); res.location(`/${savedClient._id}`).status(201).json(savedClient); } catch (error) { console.log(error) res.status(500).json(error); } });quizás
let savedClient = await client.save();Creo que debería ser
... } catch (error) { res.status(500).json(savedClient.error); }porque el error de rechazo de la promesa debe ser capturado por la instrucción try/catch.