Sequelize.js 如何获得多重联接的结果

Sequelize.js 如何获得多重联接的结果,sequelize.js,Sequelize.js,我有以下设置: ... Survey.hasMany(Question, {as: 'Questions'}); Question.hasMany(Answer, {as: 'Answers'}); 如何获得单个调查的完整记录集?我知道如何获取调查的所有问题,但我希望每个问题都有与之相关的所有答案 Question.findAll({ where: { surveyId: req.surveyId } }).then(function (questions) { // No

我有以下设置:

...
Survey.hasMany(Question, {as: 'Questions'});
Question.hasMany(Answer, {as: 'Answers'});
如何获得单个调查的完整记录集?我知道如何获取调查的所有问题,但我希望每个问题都有与之相关的所有答案

Question.findAll({
  where: {
    surveyId: req.surveyId
  }
}).then(function (questions) {
  // Now how do I join questions with their answers?
}, function (err) {

});
我的理想结构是:

var survey = [
  {
    question: 'some question',
    answers: [{...},{...},...]
  }, 
  {
    ...
  },
  .
  .
  .
]

您应该包括关联的模型。

或者,您可以查询
调查
模型,并包括
问题
答案

Survery.findAll({
    where: {
        id: req.surveyId
    },
    include: {
        model: Question,
        include: {
            model: Answer
        }
    }
}).then(function (surveys) {
    console.log(surveys[0]);
}, function (err) {

});

您应该包括关联的模型。

或者,您可以查询
调查
模型,并包括
问题
答案

Survery.findAll({
    where: {
        id: req.surveyId
    },
    include: {
        model: Question,
        include: {
            model: Answer
        }
    }
}).then(function (surveys) {
    console.log(surveys[0]);
}, function (err) {

});

太棒了,谢谢!您知道文档中显示的位置吗?我想看看还有什么我不知道的。你可以看看这些:谢谢!如果你有时间的话,我还有一个Sequelize.js问题,部分是基于我从你的回答中学到的。太棒了,谢谢!您知道文档中显示的位置吗?我想看看还有什么我不知道的。你可以看看这些:谢谢!如果你有时间的话,我还有一个Sequelize.js问题,部分是基于我从你上面的答案中学到的