BLOG // May 2, 2021

Limiting and sorting GraphQL queries in Gatsby

My blog is powered by Gatsby and Strapi, and all the content is loaded using GraphQL from the Strapi API. The example below is from Gatsby, but can be used in any GraphQL query.

Limiting and Sorting

On the front page I sort by the created_at field (my "date") and limit the output to four, i.e. the four most recent blogs. This can be achieved simply by adding the following to your GraphQL query:

export const pageQuery = graphql`
  query IndexQuery {
    allStrapiBlakeyBlogs(
      limit: 4
      sort: { fields: [created_at], order: DESC }
    ) {
      edges {
        node {
          id
          created_at(formatString: "LL")
          title
          excerpt
          slug
        }
      }
    }
  }
`

As you can see I'm specifically talking about the limit and sort options, and how they work. This is an easy way to limit the number of items with GraphQL, and to sort them.

Side Tip: Dates

Did you notice the side tip? Dates can be formatted directly in GraphQL, and "LL" gives you those nice "May 1, 2021" dates. You can apply this type of query to any date field:

created_at(formatString: "LL")

If you're interested in load testing GraphQL this is a great guide.

Comments

Subscribe to new articles

If you enjoy my content, consider subscribing. You will only receive new blog stories, no other email.