gpt4 book ai didi

javascript - 风 sails 能否填充超过一层深度的关联?

转载 作者:行者123 更新时间:2023-11-30 12:37:19 27 4
gpt4 key购买 nike

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

测验 -> 问题 -> 答案

测验:

  attributes: {

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

}

问题:

  attributes: {

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

}

回答:

  attributes: {

question: { model: 'Question' }

}

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

现在的问题是,当我在 api/quiz 检索资源时,问题已填充但没有答案。我在某处读到, sails/吃水线中还没有嵌套模型群体,真的是这样吗?

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

最佳答案

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

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');

您可以在下面找到更多相关信息。

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

关于javascript - 风 sails 能否填充超过一层深度的关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25677087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com