【发布时间】:2021-12-10 21:43:27
【问题描述】:
在各自的解析器中实现数据加载器来解决 N+1 问题后,我还需要能够解决 N+N 问题。
我需要一个相当有效的数据加载机制来获得这样的关系:
{
persons (active: true) {
id,
given_name,
projects (active: true) {
id,
title,
}
}
}
我为此创建了一个简单的实现,返回
{
persons: [
{
id: 1,
given_name: 'Mike'
projects: [
{
id: 1,
title: 'API'
},
{
id: 2,
title: 'Frontend'
}
]
}
{
id: 2,
given_name: 'Eddie'
projects: [
{
id: 2,
title: 'Frontend'
},
{
id: 3,
title: 'Testing'
}
]
}
]
}
在 SQL 中,底层结构将由多对多关系表示。
是否有类似 dataloader 的工具来解决这个问题,或者甚至可以用 dataloader 本身解决这个问题?
【问题讨论】:
标签: graphql graphql-js