对另一个结果执行 GraphQL 查询
Executing GraphQL queries on the result of another one
我正在尝试获取 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
}
}
}
}
另外,查询正常,我可以得到很好的结果。
在我的代码中,我想对第一个查询返回的每个目录执行第二个查询。
知道怎么做吗?
根据您的用例,如果您只是想获取 /documentation/
中的所有 MD 文件,这可能会有用
{
allFile(filter: {
internal: {
mediaType: {
eq: "text/markdown"
}
}
relativeDirectory: {
regex: "/documentation/"
}
}) {
edges {
node {
relativePath
name
}
}
}
}
我正在尝试获取 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
}
}
}
}
另外,查询正常,我可以得到很好的结果。
在我的代码中,我想对第一个查询返回的每个目录执行第二个查询。
知道怎么做吗?
根据您的用例,如果您只是想获取 /documentation/
中的所有 MD 文件,这可能会有用
{
allFile(filter: {
internal: {
mediaType: {
eq: "text/markdown"
}
}
relativeDirectory: {
regex: "/documentation/"
}
}) {
edges {
node {
relativePath
name
}
}
}
}