Sequelize ::限制和命令INSIDE和Include []结构

Awe*_*SIM 8 node.js sequelize.js

我有以下模型层次结构:

User.hasMany(Child);
Child.hasMany(Profile);
Run Code Online (Sandbox Code Playgroud)

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

  1. 加载所有ChildrenUser,排序name.
  2. 对于每个Child,加载前三个Profiles反向排序依据id.

有没有办法限制和排序渴望加载Profiles?我可以限制和排序Children但不是Profiles.

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

我能使它工作的唯一方法是执行以下操作:

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

这在我看来都很糟糕,需要额外的代码才能确保Children在所有Children加载之前我都没有访问过.

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

whi*_*fin 1

不确定limit,但我尝试了一个简单的方法order,效果很好:

user.getPets({
    order: 'type ASC'
})
Run Code Online (Sandbox Code Playgroud)

推而广之,我认为 limit 也有效?