Graphql 是否可以查询内容类型中的所有条目,并根据子字段筛选响应?
我使用的是Contentful,我有两种内容类型:Graphql 是否可以查询内容类型中的所有条目,并根据子字段筛选响应?,graphql,contentful,gatsby,Graphql,Contentful,Gatsby,我使用的是Contentful,我有两种内容类型:Album和Artist Album有一个“artist”字段,引用artist内容类型的条目,我想执行一个查询,返回一个artist和引用该artist的所有Album 我有这样的东西,但我不知道如何过滤相册: query artistQuery($id: String!) { contentfulArtist(id: { eq: $id }) { id artistName } allContentfulAlbum
Album
和Artist
Album
有一个“artist”字段,引用artist
内容类型的条目,我想执行一个查询,返回一个artist
和引用该artist
的所有Album
我有这样的东西,但我不知道如何过滤相册:
query artistQuery($id: String!) {
contentfulArtist(id: { eq: $id }) {
id
artistName
}
allContentfulAlbum {
edges {
node {
artist {
id
artistName
}
}
}
}
}
你能试试这个查询吗
query artistQuery{
contentfulArtist{
id
artistName
}
album {
id
artistName
}
}
我对作者和文章也有类似的用例。我用一个类似的问题解决了这个问题。
见截图。
根据@khaled的说法,似乎您可以从引用另一个条目的内容类型中查询所有条目,只需将第一个作为子字段查询即可
因此,在我的例子中,要从艺术家
查询所有相册
,查询如下:
query artistQuery($id: String!) {
contentfulArtist(id: { eq: $id }) {
id
artistName
album {
id
title
}
}
}
您使用的是什么graphql服务器?我使用的是Contentul,我从盖茨比生成的网站获取数据。谢谢,@khaled,一个类似于您发布的屏幕截图中的查询正是我想要的。很高兴它有帮助,您能将我的答案标记为正确吗?这将对以后的问题有所帮助。