gpt4 book ai didi

facebook-graph-api - GraphQL 获取嵌套图中子边的附加数据

转载 作者:行者123 更新时间:2023-12-04 07:56:46 26 4
gpt4 key购买 nike

我有一个更复杂的数据结构,导致一个深度嵌套的图形。现在我总是通过根查询来获取/重新加载。但是我认为这不是最好的方法,因为它总是需要服务器来解析整个树。

是否可以在不遍历整棵树的情况下在第二个请求中获取/重新加载嵌套图中子边的附加数据/边?

如果是如何?

例如:我有一个

RootQuery Spaces
+ ... Other Layers
+ Project
+ Edge Tasks
+ Edge SubTasks
+ Edge Assigned User

显示项目列表我没有在初始请求时加载任务。如果用户打开一个项目,我想只加载这个项目的任务,而不重新加载父/根或从 RootQuery 开始的整个树。

最佳答案

简答:
不可以,您不能查询未列为根查询类型定义字段的数据。

长答案:
尽管在不向根查询中添加字段的情况下这是不可能的,但您只需添加 tasks 即可实现您正在寻找的行为。使用作为项目 ID 的参数进行查询。然后在您的客户端中,同时查询 projects ,不要问他们的任务边缘,而只是发送单独的查询tasks(projectId: ID)当你需要的时候。

在 apollo 的 GitHunt 示例中,他们正在做同样的事情来查询每个 repo 的评论列表,甚至在用户将鼠标悬停在 repo 的链接上时预取数据。那当然是半渴望行为而不是懒惰,因此您可以在那里做出自己的选择。

GraphQL 的 future 特性将使您能够@stream客户端准备好的任务列表,以及 @defer您希望继续的任何领域。您的方案可能有一个更好的解决方案,不需要发送第二个查询。

有关更多信息,请查看 lee 的演讲:https://youtu.be/ViXL0YQnioU?t=12m50s

关于facebook-graph-api - GraphQL 获取嵌套图中子边的附加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com