Javascript 帆能在超过一层深的地方航行吗?
我正在搞v0.10版本的sails,我遇到了一个令人困惑的问题。我与我正在构建的应用程序有关系,它是一个简单的测验应用程序。问题出现在我的模型和关联的结构上: 测验->问题->答案 测验: 问题: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: {
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');