Javascript 在Sails JS中是否有更好的方法使用嵌套(关联)模型?

Javascript 在Sails JS中是否有更好的方法使用嵌套(关联)模型?,javascript,node.js,sails.js,waterline,sails-mongo,Javascript,Node.js,Sails.js,Waterline,Sails Mongo,我已将我的SailsJs应用程序连接到Mongodb数据库。我正在开发一个分析应用程序。以下是我的应用程序中的主要模型: 使用者 项目 汇报 事件 一个用户可以有许多项目,一个项目可以有许多报告,一个报告可以有许多事件。我使用模型属性的集合和模型属性创建了这些关系。我的问题是为什么很难找到特定用户的事件?我希望我能做到这一点: User. find({id: id}). populate('projects'). populate('reports'). populate('ev

我已将我的SailsJs应用程序连接到Mongodb数据库。我正在开发一个分析应用程序。以下是我的应用程序中的主要模型:

使用者 项目 汇报 事件

一个用户可以有许多项目,一个项目可以有许多报告,一个报告可以有许多事件。我使用模型属性的集合和模型属性创建了这些关系。我的问题是为什么很难找到特定用户的事件?我希望我能做到这一点:

User.
  find({id: id}).
  populate('projects').
  populate('reports').
  populate('events').
  then(function (eventsOfMyUser) {
  });

但是,因为只有项目是我的用户模型的一个属性,所以只有第一个填充可以工作。在我的控制器或模型代码中编写令人讨厌和困惑的异步循环,而不是找到深层模型,这难道不是一种更容易的方法吗?

目前,sails没有任何类型的嵌套填充。参考问题:

值得一提的是,有一个添加嵌套填充的请求:

Pull请求目前尚未合并,但您可以使用它直接与安装一个

npm i Atlantis-Software/waterline#deepPopulate

使用它,您可以执行以下操作:填充“projects.reports…”

目前,sails没有任何类型的嵌套种群。参考问题:

值得一提的是,有一个添加嵌套填充的请求:

Pull请求目前尚未合并,但您可以使用它直接与安装一个

npm i Atlantis-Software/waterline#deepPopulate

使用它,您可以执行以下操作:填充“projects.reports…”

现在有一个钩子可以让你这么做。它正在改变吃水线。离岸是延伸的吃水线分叉,具有深填充、缓存机制

在目前的路线图中有:

关联条件将默认条件添加到关联中 交易
现在有一个钩子可以让你这么做。它正在改变吃水线。离岸是延伸的吃水线分叉,具有深填充、缓存机制

在目前的路线图中有:

关联条件将默认条件添加到关联中 交易
对于更复杂的行为,在模型上编写自己的方法函数是有意义的。也可能是使用.query的时候了SQL@FrederickStark你不认为这是一个非常简单的行为,水线无法处理吗?我开始觉得sailsJS在这些简单的情况下真的让你失望,我开始使用它是个错误。我希望我错了,或者我可以通过修改我的项目来解决我的问题。你不认为这一定是框架的一部分吗?是的,这是帆船/水线最终应该能够处理的行为。这就是使用v1.0之前的框架的问题所在。就水线回购提出问题是个好主意。或者更好,如果你有时间做一个解决方案的话,一个pull请求。这是其中的一次,为更复杂的行为在模型上编写你自己的方法函数是有意义的。也可能是使用.query的时候了SQL@FrederickStark你不认为这是一个非常简单的行为,水线无法处理吗?我开始觉得sailsJS在这些简单的情况下真的让你失望,我开始使用它是个错误。我希望我错了,或者我可以通过修改我的项目来解决我的问题。你不认为这一定是框架的一部分吗?是的,这是帆船/水线最终应该能够处理的行为。这就是使用v1.0之前的框架的问题所在。就水线回购提出问题是个好主意。或者更好的是,如果您有时间提出解决方案,可以请求拉取