对另一个的结果执行GraphQL查询

时间:2017-11-15 17:33:40

标签: graphql gatsby

我正在尝试获取Gatsby中的文件夹名称列表,以及位于其中的文件的名称。

以下是我可以使用的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
      }
    }
  }
}

另外,查询正在运行,我可以获得良好的结果。

在我的代码中,我想为第一个查询返回的每个目录执行第二个查询。

关于如何做的任何想法?

1 个答案:

答案 0 :(得分:0)

根据您的使用情况,如果您只是尝试获取/documentation/中的所有MD文件,这可能会有用

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