diff --git a/questionservice/obtenerPreguntasBaseDatos.js b/questionservice/obtenerPreguntasBaseDatos.js index 1b0f30f7..aa34d115 100644 --- a/questionservice/obtenerPreguntasBaseDatos.js +++ b/questionservice/obtenerPreguntasBaseDatos.js @@ -8,29 +8,36 @@ const Respuesta = mongoose.model('Respuesta'); class ObtenerPreguntas{ - - async obtenerPregunta(){ - var resultado = {}; - - var pregunta = await Pregunta.aggregate([{ $sample: { size: 1 } }]); - - //por ejemplo capital - var tipo = await Tipos.findOne({ idPreguntas: { $in: pregunta[0]._id } }); + async obtenerPregunta(numeroPreguntas){ + var resultado = {}; + var objetoExterno= {}; + //Se cojen las preguntas del numero que se pase por parametro + console.log(numeroPreguntas); + var preguntas = await Pregunta.aggregate([{ $sample: { size: numeroPreguntas } }]); + console.log(preguntas); + for(var i = 0; i < preguntas.length; i++){ + + var tipo = await Tipos.findOne({ idPreguntas: { $in: preguntas[i]._id } }); + console.log(preguntas[i]); var respuestas = await Respuesta.aggregate([ - { $match: { tipos: {$in : [tipo._id]}, textoRespuesta: { $ne: [pregunta[0].respuestaCorrecta, "Ninguna de las anteriores" ]} } }, + { $match: { tipos: {$in : [tipo._id]}, textoRespuesta: { $ne: [preguntas[i].respuestaCorrecta, "Ninguna de las anteriores" ]} } }, { $sample: { size: 3 } } ]); - + resultado = { - pregunta: pregunta[0].textoPregunta, - correcta: pregunta[0].respuestaCorrecta, + pregunta: preguntas[i].textoPregunta, + correcta: preguntas[i].respuestaCorrecta, respuestasIncorrecta1: respuestas[0].textoRespuesta, respuestasIncorrecta2: respuestas[1].textoRespuesta, respuestasIncorrecta3: respuestas[2].textoRespuesta }; - - return resultado; + console.log(resultado); + objetoExterno["resultado" + (i+1)] = resultado; + + } + console.log(objetoExterno); + return objetoExterno; } } diff --git a/questionservice/question-service.js b/questionservice/question-service.js index 46c57290..9cac6255 100644 --- a/questionservice/question-service.js +++ b/questionservice/question-service.js @@ -25,7 +25,19 @@ mongoose.connect(mongoUri); app.get('/getQuestion', async(req,res)=> { try{ //coger pregunta bd - const questions = await question.obtenerPregunta(); + const questions = await question.obtenerPregunta(10); + //para devolver la pregunta + res.json(questions); + + } catch(error) { + res.status(error.response.status).json({ error: error.response.data.error }); + } + +}); +app.get('/getQuestionBasico', async(req,res)=> { + try{ + //coger pregunta bd + const questions = await question.obtenerPregunta(10); //para devolver la pregunta res.json(questions);