检查 Hasura 中的空数组

Posted

技术标签:

【中文标题】检查 Hasura 中的空数组【英文标题】:Check for empty arrays in Hasura 【发布时间】:2020-11-01 05:31:55 【问题描述】:

我有以下查询:

query 
  table1(where: table2: id: ) 
    id
  


table1table2 之间通过外键建立关系。也就是说,在table2 中有一个名为table1_id 的列,因此我可以从table1 访问table2。我想查询table1 中在table2 中没有相关行的所有行。也就是说,如果我执行以下查询:

query 
  table1 
    table2 
      id
    
  

我想要table1 中此查询返回空数组的行。我尝试了以下方法:

query 
  table1(where: table2: id: _in: []) 
    id
  

query 
  table1(where: table2: id: _is_null: true) 
    id
  

但似乎没有任何效果(我得到一个空数组)。我做错了什么?

【问题讨论】:

【参考方案1】:

选择的答案实际上是不正确的。应该是这样的:

query 
  table1(where: _not:  table2:   ) 
    id
  

编辑:选择的答案现在很好:)

【讨论】:

我编辑了我的答案以避免任何混淆。谢谢 @LeonardoAlves 太好了。我无权编辑您的答案,因此不得不单独回答。我将反对票恢复为赞成票!【参考方案2】:
query 
  table1(where: _not:  table2:   ) 
    id
  

应该可以从 table1 返回与 table2 没有关系的记录

【讨论】:

以上是关于检查 Hasura 中的空数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在C中检查分配数组中的空字段

使用严格的空检查处理 Typescript 2.0 中的数组移位返回类型

如何仅查询这些对象,这些对象包含使用 Hasura 作为变量给出的数组中的每个元素?

如何删除数组中的空元素[重复]

如何对 Hasura 中的 ARRAY 字段类型运行 GraphQL 过滤器查询?

检查输入字段中的空值的正确方法是啥[重复]