是否可以在apollo客户端缓存中查询特定类型的所有项目?我们的团队正在尝试采用Apollo缓存来集中状态,这是一个问题。我们已经实现了tutorial的几乎所有部分,但是我们仍然不确定这个问题。
假设我们这个查询 someCollectionQuery
someCollectionQuery {
edges: {
node: {
factory {
_id
factoryName
}
}
}
}
根据有关readQuery的文档,我们现在可以通过执行以下操作来获取缓存中的所有工厂:
client.readQuery({
query: someCollectionQuery,
});
我们可以对数据进行一些简单的迭代,并仅提取工厂。
但这要求我们使用someCollectionQuery
。如果应用程序中的其他查询也返回了工厂怎么办?是否可以创建一个 readQuery 来返回缓存中的所有工厂-不管首先导致工厂位于缓存中的特定查询是什么?像这样:
// How would you achieve something like this?
const allFactories = client.readByType('factory')