能否从两个不同的数据源解析相同的GraphQL类型?
在下面的简化GraphQL模式中,有两个查询能否从两个不同的数据源解析相同的GraphQL类型?,graphql,apollo,Graphql,Apollo,在下面的简化GraphQL模式中,有两个查询 product查询接收一个ID,查询Postgres数据库并返回包含所有字段的产品 search查询接收一个搜索词,查询Elasticsearch并返回一个产品列表,每个产品都包含所有字段 Product类型实际上是从两个不同的数据源解析的,Postgres和Elasticsearch取决于查询 另一种方法是使用search查询返回每个产品的id,然后从Postgres数据库解析剩余的产品数据。然而,考虑到您已经可以从Elasticsearch获得数
product
查询接收一个ID,查询Postgres数据库并返回包含所有字段的产品search
查询接收一个搜索词,查询Elasticsearch并返回一个产品列表,每个产品都包含所有字段Product
类型实际上是从两个不同的数据源解析的,Postgres和Elasticsearch取决于查询
另一种方法是使用search
查询返回每个产品的id,然后从Postgres数据库解析剩余的产品数据。然而,考虑到您已经可以从Elasticsearch获得数据,这似乎是一个不必要的步骤
从两个不同的数据源解析相同的GraphQL类型可以吗?可以,只有数据集/实体,而不是实例/指针。。。只要源是同步的
type Product {
id: ID!
name: String!
}
type Query {
product(id: ID!): Product
search(searchTerm: String!): [Product]!
}