【发布时间】:2021-08-03 05:06:58
【问题描述】:
我正在将 GraphQL 集成到我的应用程序中,并试图弄清楚这种情况是否可行。
我有一个记录类型的架构和一个从我的服务返回记录列表的查询。架构看起来像:
type Query {
records(someQueryParam: String!): [Record]!
}
type Record {
id: String!
otherId: String!
<other fields here>
}
我的应用程序中有一些地方需要使用otherId 值访问Record(因为这是我可以访问的全部内容)。目前,我使用otherId 到id 值的映射来实现这一点,该值在下载所有Records 后填充。我使用映射从otherId 到id,然后使用id 值来索引Record 对象的集合,以避免遍历整个事情。 (在我开始使用 Apollo GQL 之前,这个集合曾经使用单独的 REST 调用来填充。)
如果可能的话,我想删除我对这个映射的依赖。由于 Records 在加载后都在 Apollo 缓存中,因此我只想使用 otherId 值在缓存中查询有问题的 Record。我的服务目前没有这种查找,所以我没有可以并行缓存的现有查询。 (即没有getIdFromOtherId)。
tl;dr:我可以使用对象的 id 以外的其他内容查询我的 Apollo 缓存吗?
【问题讨论】:
标签: apollo-client react-apollo