graphql - Hasura 查询的工作方式类似于 SQL 内连接

标签 graphql hasura

因此,假设我有以下图形查询来获取用户及其帖子:

query MyQuery {
  users{
    id
    posts {
      id
    }
  }
}
假设我有一个没有任何帖子的用户 A。上面的查询给了我一个类似于 SQL 中的外部联接的结果,我将获得用户 A,但由于没有用户,所以帖子数组为空。
如果我只想让那些至少拥有一篇文章的用户(类似于 SQL 中的内部联接为我所做的那样),我该怎么办?
我做了一些挖掘,发现一些结果表明我可以在查询中使用“@cascade”在 graphql 中执行类似的操作。不幸的是,它在哈苏拉对我不起作用。
我如何在 Hasura 实现这一目标?我可以根据帖子的聚合对父级(“用户”)进行排序,但没有用于过滤数组关系聚合的选项,否则我会根据帖子计数 > 0 来过滤用户。

最佳答案

稍后我从 Hasura 的 github 讨论中收到的一个答案中发现,我可以这样做:

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

关于graphql - Hasura 查询的工作方式类似于 SQL 内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68377310/

相关文章:

javascript - GraphQL 连接

angular - apollo.watchQuery 结果为 'ERROR TypeError: Object(...) is not a function'

graphql - 如何在 React-Admin 中配置端点和自定义 graphql 查询

typescript - NestJS - 带有 postgres 的 DTO 和 sequelize orm : argument of type 'CreateUserDto' is not assignable to parameter of type 'User' . ts(2345)

javascript - 有没有办法在 GraphQL 中表示键值对的对象

graphql - 我应该一遍又一遍地重新输入我的字段,还是我认为这是错误的?

database - 如何从 Hasura 数据库将数据导出为 CSV 文件?

flutter - 将hasura与flutter一起使用,出现以下错误,Graphql版本^ 3.0.0

docker - 从静态客户端访问Docker容器的IP地址