2017-11-15 9 views
0

Gatsby에 폴더 이름 목록을 가져오고 그 안에있는 파일 이름을 얻으려고합니다. 여기 다른 하나의 결과에 대해 GraphQL 쿼리를 실행합니다.

내가 사용할 수있는 2 개 쿼리입니다

query fetchDirectories { 
    allDirectory(filter: { 
    relativeDirectory: { 
     regex: "/documentation/" 
    } 
    }) { 
    edges { 
     node { 
     name 
     } 
    } 
    } 
} 

query fetchFilesByDirectory($directory: String) { 
    allFile(filter: { 
    internal: { 
     mediaType: { 
     eq: "text/markdown" 
     } 
    } 
    relativePath: { 
     regex: $directory 
    } 
    }) { 
    edges { 
     node { 
     name 
     } 
    } 
    } 
} 

별도로, 쿼리가 작동하고, 나는 좋은 결과를 얻을 수 있습니다.

제 코드에서는 첫 번째 쿼리에서 반환 된 각 디렉터리에 대해 두 번째 쿼리를 실행하고 싶습니다.

어떻게 할 수 있습니까?

+0

당신이 대답을 찾을 경우 알려 주시기 수 유용 할 수 있습니다, 사용 사례에 따라? 정확히 같은 usecase에 대해 정확히 동일한 쿼리를 사용합니다. – Sandeep

답변

0

그냥 /documentation/에있는 모든 MD 파일을 얻으려고 노력하는 경우,이

{ 
    allFile(filter: { 
    internal: { 
     mediaType: { 
     eq: "text/markdown" 
     } 
    } 
    relativeDirectory: { 
     regex: "/documentation/" 
    } 
    }) { 
    edges { 
     node { 
     relativePath 
     name 
     } 
    } 
    } 
} 
+0

안녕하세요 @ 알빈 - 답장을 보내 주셔서 감사합니다. 문제는 하나의 디렉토리가 아니라 많은 디렉토리이며 빌드시 가져올 필요가 있다는 것입니다. 예를 들어 다음에 gatsby를 빌드 할 때 새 디렉토리를 추가 할 수 있으므로 이제 고려해야합니다. – Sandeep