我正在使用 gridsome,它从空气表中提取数据。我有一个名为 Nouns 的表,它具有自引用层次结构(任何名词都可以是任何其他名词的父级或子级)。我只在 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
.