我有一个架构,为了便于描述,
type level0 {
ID id
String name
[level1] level1s
}
type level1 {
ID id
String name
[level2] level2s
}
type level2 {
ID id
String name
}
type Query {
getLevel0(ID: id)
}
当我最初获取数据时,我会这样查询自己的查询
query GetLevel0($id: ID) {
getLevel0(id: $id) {
id
name
level1s {
id
name
level2s {
id
name
}
}
}
}
因此,在这一点上,我现在获得了数据的完全嵌套的对象层次结构,以便可以急切加载快速管理数据所需的一切。
所以现在我的问题是,当我要自上而下地管理我的level2s集合时,此对象层次结构就可以正常流动,而无需创建用于直接访问其他信息的其他查询。我还使用了要保持更新的客户端InMemoryCache,而无需进行额外的网络调用来再次返回完整数据。
有没有一种方法可以构建模式以支持对子集合的过滤?
例如
query GetLevel0($id: ID, $level1id: ID) {
getLevel0(id: $id) {
id
name
level1s(id: $level1id) {
id
name
level2s {
id
name
}
}
}
}
当我执行cache.readQuery从子集合中添加新条目或删除条目时,想知道是否可以从缓存结果中执行筛选。
任何其他有关此的知识都很好。
谢谢!