【发布时间】:2015-12-09 06:26:59
【问题描述】:
我已将 SailsJs 应用程序连接到 Mongodb 数据库。我正在开发一个分析应用程序。这些是我的应用程序中的主要模型:
User
Project
Report
Event
一个用户可以有很多项目,一个项目可以有很多报告,一个报告可以有很多事件。我使用模型属性的collection 和model 属性创建了这些关系。我的问题是为什么很难找到特定用户的事件?我希望我能做到这一点:
User.
find({id: id}).
populate('projects').
populate('reports').
populate('events').
then(function (eventsOfMyUser) {
});
但由于只有 projects 是我的 User 模型的属性,因此只有第一个填充有效。与在我的控制器或模型代码中编写令人讨厌且令人困惑的异步循环相比,不是更容易找到深度模型吗?
【问题讨论】:
-
这是在模型上编写自己的方法函数以实现更复杂行为的时代之一。也可能是使用纯 SQL 的
.query()的时候了 -
@FrederickStark 你不认为这是一个很简单的行为,水线无法处理吗?我开始认为sailsJS 在这些简单的情况下真的让你失望了,我开始使用它时犯了一个错误。我希望我错了,或者我可以通过在我的项目中进行更改来解决我的问题。你不认为它必须是框架的一部分吗?
-
是的,这是风帆/水线最终应该能够处理的行为。这就是使用 v1.0 之前的框架的问题所在。在水线回购中提出问题是个好主意。或者更好的是,如果您有时间制定解决方案,可以提出拉取请求
标签: javascript node.js sails.js waterline sails-mongo