2017-09-13 9 views
1

Contentful을 사용하고 있으며 콘텐츠 유형이 Album이고 Artist입니다.콘텐츠 형식의 모든 항목을 쿼리하고 하위 필드를 기준으로 응답을 필터링 할 수 있습니까?

AlbumArtist 콘텐츠 형식의 항목을 참조,에 "아티스트"필드가, 나는 Artist 있음을 참조 Artist 모든 Albums을 반환하는 쿼리를 수행 할.

나는 이런 식으로 뭔가를 가지고,하지만 난 앨범을 필터링하는 방법을 모른다 :

query artistQuery($id: String!) { 
    contentfulArtist(id: { eq: $id }) { 
    id 
    artistName 
    } 
    allContentfulAlbum { 
    edges { 
     node { 
     artist { 
      id 
      artistName 
     } 
     } 
    } 
    } 
} 
+0

무엇 graphql 서버를 사용하고 있습니까? – CFrei

+0

저는 Contentul을 사용하고 있으며, Gatsby 생성 웹 사이트에서 데이터를 가져옵니다. –

답변

1

디는이 쿼리를 시도?

query artistQuery{ 
    contentfulArtist{ 
    id 
    artistName 
    } 
    album { 
    id 
    artistName 
    } 
} 

저자 및 기사와 비슷한 사용 사례가 있습니다. 비슷한 쿼리로 해결했습니다. 스크린 샷을 참조하십시오. enter image description here

+0

감사합니다. @khaled, 내가 게시 한 스크린 샷의 검색어와 비슷한 검색어를 찾고있었습니다. –

+0

도움이 되셨다면 기꺼이 도와 드리겠습니다. 정확한 답변으로 표시해주세요. 향후 질문에 도움이 될 것입니다. –

0

는 @ 칼리드의 answer에 따르면, 단순히 서브 필드로 첫 번째 쿼리, 서로 항목을 참조하는 콘텐츠 형식에서 모든 항목을 조회 할 수 있습니다 보인다.

그래서 내 경우에, Artist 모든 Albums를 쿼리, 쿼리는 다음과 같이이다 :

query artistQuery($id: String!) { 
    contentfulArtist(id: { eq: $id }) { 
    id 
    artistName 
    album { 
     id 
     title 
    } 
    } 
}