Sequelize :: Limit和Order INSIDE包含构造

我有以下模型层次结构:

User.hasMany(Child); Child.hasMany(Profile); 

一旦我加载了一个User对象,我需要根据以下逻辑加载它的Children对象及其关联的Profiles

  1. User加载所有Children ,按namesorting。
  2. 对于每个Child ,加载按idsorting的前三个Profiles

有没有办法限制和sorting急切加载的Profiles ? 我可以限制和sorting的Children但不是Profiles

 user.getChildren({ limit: 10, order: [['name', 'ASC']], include: [{ model: Profile, limit: 3, <-- HAS NO EFFECT!!! order: [['id', 'DESC']] <-- HAS NO EFFECT!!! }] }); 

我能做到这一点的唯一方法就是做以下工作:

 user.getChildren({ limit: 10, order: [['name', 'ASC']] }).then(function(children) { user.children = children; _.each(children, function(child) { child.getProfiles({ limit: 3, order: [['id', 'DESC']] }); }); }); 

这在我看来是不好的,需要额外的代码,以确保在所有的Children被加载之前,我不会访问Children

有没有办法在include[]结构中指定limitorder选项?

不知道有关limit ,但我尝试了一个简单的order ,它工作正常:

 user.getPets({ order: 'type ASC' }) 

通过扩展,我会承担限制的作品呢?