Estoy jugando con la versión v0.10 de velas, y me he encontrado con un problema desconcertante. Tengo una relación con la aplicación que estoy creando, que es una aplicación de prueba simple. El problema surge en torno a la estructura de mis modelos y asociaciones:

Prueba -> Preguntas -> Respuestas

Examen:

  attributes: {

    questions: {
        collection: 'Question',
        via: 'quiz'
    }

  }

Pregunta:

  attributes: {

    answers: {
        collection: 'Answer',
        via: 'question'
    },
    quiz: { model: 'Quiz' }

  }

Responder:

  attributes: {

    question: { model: 'Question' }

  } 

He dejado el resto del código del modelo por claridad.

Ahora los problemas, cuando recupero el recurso en api / quiz, las preguntas se completan pero no hay respuestas. Leí en alguna parte que todavía no hay una población modelo anidada en velas / línea de flotación, ¿es realmente este el caso?

Incluso si voy a api / question, vuelvo las preguntas pero sin respuestas, en este caso no consideraría la respuesta como anidada. Parece que no importa lo que haga, no puedo hacer que las velas completen las respuestas en preguntas, pero siempre completará las preguntas en el cuestionario.

1
AggggggghFuuuuuuuuuuuuu 5 sep. 2014 a las 04:48

2 respuestas

La mejor respuesta

Ok, parece que estaba usando velas 0.10.0 rc-7 una vez que actualicé a 0.10.5 los problemas cesaron

1
AggggggghFuuuuuuuuuuuuu 5 sep. 2014 a las 15:41

Seguro que puede. Aquí hay una manera fácil de hacerlo.

getPopulatedQuiz: function(quizId) {
  return Quiz.findOne(quizId)
  .populate('questions')
  .then(function(quiz) {
    return nestedPop(quiz, {
      questions: [
        'answers'
      ]
    }).then(function(quiz) {
      return quiz;
    });
  });
}

Asegúrese de requerir nestedPop.

var nestedPop = require('nested-pop');

Puede encontrar más información al respecto a continuación.

https://www.npmjs.com/package/nested-pop

2
Jam Risser 19 ene. 2017 a las 21:14