【问题标题】:Hasura query that works similar to a SQL inner joinHasura 查询的工作方式类似于 SQL 内连接
【发布时间】:2021-09-23 09:18:09
【问题描述】:

假设我有以下图表查询来获取用户及其帖子:

query MyQuery {
  users{
    id
    posts {
      id
    }
  }
}

假设我有一个没有任何帖子的用户 A。上面的查询给了我一个类似于 SQL 中的外部联接的结果,我将在其中获取用户 A,但由于没有用户,所以它有一个空的帖子数组。

如果我只想获取至少有一篇帖子的用户,我会怎么做,类似于 SQL 中的内部联接对我所做的那样?

我进行了一些挖掘,发现一些结果表明我可以在查询中使用“@cascade”来在 graphql 中执行类似的操作。不幸的是,这对我在 Hasura 不起作用。

如何在 Hasura 中实现这一目标?我可以根据帖子的聚合对父级(“用户”)进行排序,但没有过滤数组关系聚合的选项,否则我会根据帖子计数 > 0 过滤用户。

【问题讨论】:

  • 所以“类似于 SQL 中的谓词 EXIST(半连接)”更正确 - 对吧?
  • 你所说的和左连接有什么区别? @AlexYu

标签: graphql hasura


【解决方案1】:

稍后我从 Hasura 的 github 讨论中收到的回答中发现,我本来可以这样做:

query MyQuery {
  users (where:  { posts: {} }){
    id
    posts {
      id
    }
  }
}

【讨论】:

    猜你喜欢
    • 2013-09-28
    • 2021-09-23
    • 2015-01-19
    • 1970-01-01
    • 2017-10-19
    • 2016-03-29
    • 2015-06-21
    • 2013-07-06
    • 1970-01-01
    相关资源
    最近更新 更多