如何在Apollo客户端缓存中查询特定类型的所有项目?

时间:2019-11-21 07:13:23

标签: apollo apollo-client

是否可以在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')

0 个答案:

没有答案