Dun*_*Luk 1 javascript node.js sequelize.js graphql
我使用Sequelize 5作为 GraphQL API 的 ORM,但在查询关联数据时遇到了性能问题。
假设我有一个User有很多Posts 的对象,所以我的模型定义如下所示:
class User extends Model { }
User.init({ name: Sequelize.STRING }, { sequelize });
class Post extends Model { }
Post.init({ content: Sequelize.STRING }, { sequelize });
User.hasMany(Post);
Run Code Online (Sandbox Code Playgroud)
现在我已经User从数据库中获取了一个模型,并且我想查询x该用户的大量帖子。我知道我可以使用 获取所有帖子user.getPosts(),但这会返回比我需要的更多的记录。
我找到了这个答案,它解释了如何在使用选项急切加载关系时应用限制include,但就我而言,我想延迟加载关系。其原因在于 GraphQL 解析器的工作方式。
所以我的问题是:如何获取x用户的第一篇帖子?
您可以将其他find选项传递给 getter。虽然这里简要提到了这一点,但并没有很好的记录。所以你可以这样做:
user.getPosts({
limit: 10,
offset: 100,
where: { /* whatever */ },
order: [ /* whatever */ ],
transaction,
etc.
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3072 次 |
| 最近记录: |