Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 帆能在超过一层深的地方航行吗?_Javascript_Node.js_Sails.js_Waterline - Fatal编程技术网

Javascript 帆能在超过一层深的地方航行吗?

Javascript 帆能在超过一层深的地方航行吗?,javascript,node.js,sails.js,waterline,Javascript,Node.js,Sails.js,Waterline,我正在搞v0.10版本的sails,我遇到了一个令人困惑的问题。我与我正在构建的应用程序有关系,它是一个简单的测验应用程序。问题出现在我的模型和关联的结构上: 测验->问题->答案 测验: 问题: attributes: { answers: { collection: 'Answer', via: 'question' }, quiz: { model: 'Quiz' } } 答复: attributes: {

我正在搞v0.10版本的sails,我遇到了一个令人困惑的问题。我与我正在构建的应用程序有关系,它是一个简单的测验应用程序。问题出现在我的模型和关联的结构上:

测验->问题->答案

测验:

问题:

  attributes: {

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

  }
答复:

  attributes: {

    question: { model: 'Question' }

  } 
为了清晰起见,我省略了模型代码的其余部分

现在的问题是,当我在api/测验中检索资源时,问题被填充,但没有答案。我在某个地方读到,帆船/水线中还没有嵌套的模型种群,真的是这样吗


即使我转到api/question,我也会返回问题,但没有答案,在这种情况下,我不会认为答案是嵌套的。似乎无论我做什么,我都无法让sails将答案填充到问题中,但它始终会填充测验中的问题

好的,看来升级到0.10.5后,我使用的是sails 0.10.0 rc-7,问题就解决了

当然可以。这里有一个简单的方法

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

var nestedPop = require('nested-pop');
你可以在下面找到更多关于它的信息


如何使用您的NPM模块获取5个级别的相关数据?
var nestedPop = require('nested-pop');