如何在graphql中从父级参考节点查找子级

时间:2019-07-28 07:40:04

标签: vue.js graphql airtable gridsome

我正在使用gridsome,它正在从airtable中提取数据。我有一个称为名词的表,该表具有自引用层次结构(任何名词都可以是任何其他名词的父或子)。我仅在airtable中定义了父级,并想为单个详细信息视图(Noun.vue)编写graphql查询,以查找将当前项作为父级列出的所有名词。

我尝试使用过滤器,但是无法弄清楚如何正确地对嵌套对象进行过滤。查询如下所示:

query Noun( $path: String!, $parents__id: [String] ) {
  main: noun( path: $path ) {
    id
    path
    name
    parents {
      id
      path
      name
    }
  }
  children: allNoun(filter: { id: { contains: $parents__id }}) {
    edges {
      node {
        id
        path
        name
      }
    }
  }
}

和标记

<h2>Children</h2>
<ul>
        <li v-for="(node, index) in $page.children.edges" :key="node.id+index">
          <g-link :to="node.path">{{ node.name }}</g-link>
        </li>
      </ul>

我不确定我在做什么错,但是继续出现此错误:Error: Field "contains" is not defined by type NounFilterIdFilter

0 个答案:

没有答案