GraphQL / Gatsby - объединить отдельные Root -запросы? (Гэтсби трансформатор-cloudinary) - PullRequest
0 голосов
/ 24 февраля 2020

В моем блоге gatsby я запрашиваю каждое сообщение в блоге следующим образом:

 query BlogPostQuery($id: String, $imageFileName: String) {
    mdx(id: { eq: $id }) {
      id
      body
      frontmatter {
        title
        author
      }
    }
    file(name: { eq: $imageFileName }) {
      childCloudinaryAsset {
        fluid(maxWidth: 1200) {
          src
          ...CloudinaryAssetFluid
        }
      }
    }
  }

На обзорной странице я хочу запросить все сообщения в блоге и все изображения и отобразить их. Но я не знаю, как это сделать? Я знаю, как сделать это по отдельности:

query MyQuery {
  allMdx(filter: {fileAbsolutePath: {regex: "/content/blog/.*/"}}) {
    edges { //this gets me all blog posts
      node {
        id
        fileAbsolutePath
        fields {
          slug
        }
        frontmatter {
          title
          tags
        }
      }
    }
  }
  allFile {
    edges { //this gets me all images
      node {
        id
        childCloudinaryAsset {
          fluid(maxWidth: 1200) {
            src
          }
        }
      }
    }
  }
}

... но мне нужно как-то совместить два? Лучше всего было бы, если бы я мог получить нужное облачное изображение непосредственно из каждого узла в моем запросе MDX. Я, кстати, знаю имена файлов облачных образов, они совпадают с mdx.frontmatter.image.

. Я использую этот плагин для интеграции облачных образов, и в учебнике это объясняет как получить конкретное c изображение, если я знаю, что фильтровать. Но в моем случае я просто хочу все изображения для каждого узла.

Кто-нибудь знает, как мне этого добиться?

...