• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

256
Vistas
TypeError: el error no puede leer la propiedad '0' de indefinido al devolver una respuesta del chatbot

Actualmente estoy trabajando en una API para mi chatbot que guarda la entrada del usuario en mi base de datos. Funciona bien cuando hago consultas y se guarda en mi base de datos sin ningún problema. Mi problema es que debería enviar una respuesta de que recibió la consulta del usuario.

Aquí está mi código para la ruta/controlador:

 if (req.body.queryResult.parameters.informationType == "appointment") { const user = { firstName: req.body.queryResult.parameters.firstName, lastName: req.body.queryResult.parameters.lastName, mobile: req.body.queryResult.parameters.mobile, email: req.body.queryResult.parameters.email, status: "Pending", informationType: req.body.queryResult.parameters.informationType, appointmentDate: dateToISO(req.body.queryResult.parameters.appointmentDate), }; db.db() .collection("users") .insertOne(user, (err, result) => { if (err) { return res.json({ "fulfillmentText": "Error has occured. Cannot add user.", }); } else { var firstName = result.ops[0].firstName; var lastName = result.ops[0].lastName; return res.json({ "fulfillmentText": "Okay, got it " + firstName + " " + lastName + ". We will send an email or text message from the contact info you have provided once your appointment has been approved.", }); } }) }

Además, aquí está su modelo:

 var mongoose = require("mongoose"); var Schema = mongoose.Schema; var user = new Schema({ firstName: { type: String, required: true, }, lastName: { type: String, required: true, }, mobile: { type: String, required: true, }, email: { type: String, required: true, }, status: { type: String, required: true, }, appointmentDate: { type: Date, required: true, }, informationType: { type: String, required: true, }, }); module.exports = mongoose.model("users", user);
about 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

De acuerdo, me topé con esta publicación y leí algo de documentación . Aparentemente, el enfoque que usé ya no funciona.

Después de horas de probar y revisar varias publicaciones, finalmente encontré la solución (que en realidad fue una obviedad). Esto es lo que hice:

 var firstName = req.body.queryResult.parameters.firstName; var lastName = req.body.queryResult.parameters.lastName;
about 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda