假设我们有以下graphql架构:
type Author : Object {
id: ID!
name: String,
books: [Book]
}
type Book : Object {
id: ID!
title: String
authorId: Int
author: Author
}
然后进行如下查询:
{
books: {
id
title
author { id name }
}
}
例如,如果我们有10本书,那么我们最终会得到10个作者查询,因为将为每个提取的书调用resolve函数:
select id, name from author where id = 123
除此之外,我们可以将所有作者查询作为单个查询执行:
select id, name from author where id in (123, 456, 789, 1011)
是否有一些可行的解决方案,最佳实践,技术或其他方法可以帮助实现这一目标?
答案 0 :(得分:8)
Dataloader是您的答案,它具有批处理功能,这意味着它将排队所有ID。只有一旦它准备好它将作为批次拉动它 演示可以在这里找到: https://youtu.be/UBGzsb2UkeY(特别是最后5分钟) Algorithem解释可以在这里找到: https://youtu.be/OQTnXNCDywA
享受:)