Как отсортировать запрос graphql по номеру в строке? - PullRequest
0 голосов
/ 23 октября 2019

Я делаю фотогалерею / лайтбокс и использую graphql для управления картинками.

У меня есть 10 фотографий в папке: "1- Picture.png", "2- Изображение другой вещи.png "," 3 -... ", ...," 10- My last picture.png "

Я использую следующий фрагмент для сортировки в порядке возрастания,

export const query = graphql`
  query($gallery: String!) {
    allFile(
      filter: {
        sourceInstanceName: { eq: "galleries" }
      absolutePath: { glob: $gallery }
      }
      sort: { fields: name, order: ASC }
    ) {
      nodes {
        name
        childImageSharp {
          fluid(maxWidth:1920, quality:90) {
            ...GatsbyImageSharpFluid
          }
        }
      }
    }
  }
`

Но порядок вывода такой: «1- Picture.png», «10- My last picture.png», «2- Picture of another thing.png», ...

Есть ли интеллектуальныйспособ сортировки по номеру в начале строки? Самый простой способ, который я могу придумать, - это переименовать файлы 1-9 в "01 -... png", но я пытаюсь реализовать это для нескольких тысяч папок с 5-150 фотографиями, и все с этим именем "1-"соглашение.

Как отсортировать эти фотографии так, чтобы "9- Some name.png" был указан перед "10- My last picture.png"?

...