2017-11-15 4 views
0

Ich versuche, eine Liste der Ordner Namen in Gatsby, zusammen mit dem Namen der Dateien in ihnen zu bekommen.Ausführen von GraphQL Abfragen auf das Ergebnis eines anderen

Hier sind die zwei Abfragen kann ich verwenden:

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

und

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

Getrennt davon die Abfragen arbeiten, und ich kann die guten Ergebnisse erzielen.

In meinem Code möchte ich diese zweite Abfrage für jedes von der ersten Abfrage zurückgegebene Verzeichnisse ausführen.

Irgendeine Idee, wie man es macht?

+0

nützlich sein können, lassen Sie mich wissen, wenn Sie eine Antwort gefunden? Ich habe genau die gleiche Abfrage für den gleichen Anwendungsfall. – Sandeep

Antwort

0

Je nach Anwendungsfall, wenn Sie nur versuchen, alle Dateien, die die MD in /documentation/ zu bekommen, könnte dies

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

hi @alvin - danke für deine Antwort. Die Herausforderung besteht darin, dass es sich nicht um ein einziges Verzeichnis handelt, sondern um viele, die zur Erstellungszeit abgerufen werden müssen. Zum Beispiel kann ich ein neues Verzeichnis hinzufügen, wenn ich das nächste Mal gatsby baue. – Sandeep

Verwandte Themen