Как я могу отсортировать запрос GraphQL на основе frontmatter - PullRequest
0 голосов
/ 22 февраля 2019

Я новичок в GraphQL и успешно отсортировал данные с помощью запроса allMarkDownRemark, однако мне нужно иметь возможность запросить allFile и затем выполнить сортировку по frontmatter, возможно ли это??

Это запрос, который (с удаленной сортировкой) возвращает правильные данные.

{
    allFile(
      limit: 3
      sort: { fields: [frontmatter___priority], order: DESC }
      filter: { sourceInstanceName: { eq: "key-points" } }
    ) {
      edges {
        node {
          id
          childMarkdownRemark {
            frontmatter {
              title
              content
              priority
            }
          }
        }
      }
    }
  }

Когда я запускаю его с сортировкой, как я выше, выдает следующую ошибку

    {
  "errors": [
    {
      "message": "Expected type FileConnectionSortByFieldsEnum, found frontmatter___priority.",
      "locations": [
        {
          "line": 4,
          "column": 28
        }
      ]
    }
  ]
}

Во-первых, есть ли способ сделать запрос, используя AllFile, а затем отсортировать по frontmatter?

Если нет, то есть ли способ отфильтровать определенную папку с информацией об уценке без поля path?

1 Ответ

0 голосов
/ 22 февраля 2019

Во-первых, есть ли способ сделать запрос, используя AllFile, а затем отсортировать через frontmatter?

Без изменений в gatsby-source-filesystem это невозможно.Вы должны использовать одно из FileConnectionSortByFieldsEnum значений.Есть FileConnectionSortByFieldsEnum значений:

  • id
  • children
  • parent
  • внутренний ___ contentDigest
  • внутренний ___ тип
  • внутренний ___ mediaType
  • внутренний ___ описание
  • внутренний ___ владелец
  • sourceInstanceName
  • absolutePath
  • относительный путь
  • расширение
  • размер
  • prettySize
  • updatedTime
  • accessTime
  • changeTime
  • birthTime
  • root
  • dir
  • base
  • ext
  • name
  • lativeDirectory
  • dev
  • mode
  • nlink
  • uid
  • gid
  • rdev
  • blksize
  • ino
  • блоков
  • atimeMs
  • mtimeMs
  • ctimeMs
  • время рожденияMs
  • atime
  • mtime
  • ctime
  • время рождения
  • publicURL

Если нет, то есть ли способ фильтрацииСпециальная папка с информацией об уценке без поля пути?

Изменить запрос, чтобы использовать allMarkdownRemark, он должен вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...