类似于 SQL 内连接的 Hasura 查询
Hasura query that works similar to a SQL inner join
假设我有以下获取用户及其 post 的图形查询:
query MyQuery {
users{
id
posts {
id
}
}
}
假设我有一个没有任何 post 的用户 A。上面的查询给了我一个类似于 SQL 中的外部连接的结果,在那里我得到了用户 A,但是 posts 数组是空的,因为它没有用户。
如果我只想获得至少拥有一个 post 的用户,我会怎么做,类似于 SQL 中的内部联接会为我做的?
我进行了一些挖掘,发现一些结果表明我可以在查询中使用“@cascade”来在 graphql 中执行类似的操作。不幸的是,它在 Hasura 中对我不起作用。
我如何在 Hasura 中实现这一点?我可以根据 post 的聚合对父级 ('users') 进行排序,但是没有选项可以过滤数组关系的聚合,否则我会根据 post 过滤用户计数 > 0.
不久之后,我从在 Hasura 的 github 讨论中收到的答复中发现,我本可以这样做:
query MyQuery {
users (where: { posts: {} }){
id
posts {
id
}
}
}
假设我有以下获取用户及其 post 的图形查询:
query MyQuery {
users{
id
posts {
id
}
}
}
假设我有一个没有任何 post 的用户 A。上面的查询给了我一个类似于 SQL 中的外部连接的结果,在那里我得到了用户 A,但是 posts 数组是空的,因为它没有用户。
如果我只想获得至少拥有一个 post 的用户,我会怎么做,类似于 SQL 中的内部联接会为我做的?
我进行了一些挖掘,发现一些结果表明我可以在查询中使用“@cascade”来在 graphql 中执行类似的操作。不幸的是,它在 Hasura 中对我不起作用。
我如何在 Hasura 中实现这一点?我可以根据 post 的聚合对父级 ('users') 进行排序,但是没有选项可以过滤数组关系的聚合,否则我会根据 post 过滤用户计数 > 0.
不久之后,我从在 Hasura 的 github 讨论中收到的答复中发现,我本可以这样做:
query MyQuery {
users (where: { posts: {} }){
id
posts {
id
}
}
}