Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Sequelize ::限制和命令INSIDE和Include []结构大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下模型层次结构:

User.hasmany(Child);
Child.hasmany(ProfilE);

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

>为用户加载所有子项,按名称排序.
>对于每个子项,加载按ID排序的前三个配置文件.

有没有办法限制和排序急切加载的配置文件?我可以限制和排序儿童而不是配置文件.

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,'ASC']]
}).then(function(children) {
  user.children = children;
  _.each(children,function(child) {
    child.getProfiles({
      limit: 3,order: [['id','DESC']]
    });
  });
});

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

有没有办法在include []构造中指定限制和顺序选项?

解决方法

不确定限​​制,但我尝试了一个简单的订单,它工作正常:

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

通过扩展,我会假设限制工作?

大佬总结

以上是大佬教程为你收集整理的node.js – Sequelize ::限制和命令INSIDE和Include []结构全部内容,希望文章能够帮你解决node.js – Sequelize ::限制和命令INSIDE和Include []结构所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。