Graphql Hasura:如何过滤阵列内部

Graphql Hasura:如何过滤阵列内部,graphql,hasura,Graphql,Hasura,我有一个具有以下模式的Postgres数据库: 文章id类型:文本 建议类型:文本[] 示例行如下所示: XX1、[XX2、XX3、XX5] 现在在Hasura,我可以过滤文章的推荐信息,例如: query get_recommendations { recommendations(limit: 10, where: {article_id: {_eq: "xxxx1"}}) { recommendations } } 这会给我[xxxx2,xxxx3,xx

我有一个具有以下模式的Postgres数据库:

文章id类型:文本

建议类型:文本[]

示例行如下所示:

XX1、[XX2、XX3、XX5]

现在在Hasura,我可以过滤文章的推荐信息,例如:

query get_recommendations {
  recommendations(limit: 10, where: {article_id: {_eq: "xxxx1"}}) {
    recommendations
  }
}
这会给我[xxxx2,xxxx3,xxxx5]

但我如何从建议数组中筛选特定的建议

基本上,我想得到关于第xx1条的建议,但不是建议xxxx3

结果应该是[xxxx2,xxxx5]


我在Hasura尝试了所有的过滤器组合,但这似乎不可能?你能帮我吗?

你应该可以用hasura来做这个

创建一个类似这样的函数,该函数将建议表中的一行作为输入

创建函数public.filtered_recommendationsrec_行建议,建议到过滤器文本[] 返回json 语言sql稳定 作为$function$ 选择select json_aggunnest作为UNNESTrec_行中筛选的_建议。建议,其中unnest ALL建议从建议中筛选 $function$ 然后将此函数添加为计算字段。此计算字段将显示为建议中的字段

让这有点复杂的是使用数组来存储文章的推荐。若表的模式改为article_id文本、Recommension text,那个么您可以像使用article_id一样使用建议过滤器