如何在GraphQL中过滤查询结果?仅保留typename为Article的数据
两种过滤方案
方案一:在GraphQL查询层面过滤(推荐)
如果你的GraphQL API支持按typename过滤,直接修改查询请求参数,只请求类型为Article的内容。比如检查publications的request参数是否有类似publicationTypes的字段,修改后的查询如下:
query Publications($id: ProfileId!) { publications( request: { profileId: $id, publicationTypes: [ARTICLE] # 新增过滤条件,仅请求Article类型 } ) { items { typename } } }
注:具体参数名可能因API设计不同而变化,比如有的API可能叫types或filter,需要参考对应API的文档确认。
方案二:客户端接收结果后过滤
如果API不支持查询时过滤,就在拿到返回结果后用代码处理。以JavaScript为例:
// 假设返回的结果存在response变量中 const filteredItems = response.data.publications.items.filter(item => item.typename === "Article"); // 处理后的filteredItems就是仅包含Article类型的数组
内容的提问来源于stack exchange,提问作者Patrick Collins
相关产品推荐
相关产品推荐

