我已将SailsJs应用程序连接到Mongodb数据库。我正在研究分析应用程序。这些是我的应用程序中的主要模型:
User
Project
Report
Event
用户可以有很多项目,项目可以有很多报告,报告可以有很多事件。我使用模型属性的collection
和model
属性创建了这些关系。我的问题是为什么找到特定用户的事件是如此困难?我希望我能做到这一点:
User.
find({id: id}).
populate('projects').
populate('reports').
populate('events').
then(function (eventsOfMyUser) {
});
但由于只有projects
是User
模型的属性,因此只有第一个填充符有效。不应该是一种更容易找到深层模型的方法,而不是在我的控制器或模型代码中编写令人讨厌且令人困惑的异步循环?
答案 0 :(得分:3)
目前帆还没有任何嵌套人口。要参考的问题:https://github.com/balderdashy/waterline/issues/308
值得一提的是添加嵌套群体的拉取请求:https://github.com/balderdashy/waterline/pull/1052
拉出请求目前尚未合并,但您可以直接使用
来安装npm i Atlantis-Software/waterline#deepPopulate
有了它,你可以做.populate('projects.reports ...)'
之类的事情。
答案 1 :(得分:0)