首页 > 解决方案 > 如何在 Gatsby 中按 totalCount 排序?

问题描述

我正在使用此查询在 Gatsby 中显示标签列表:

  query={graphql`
    query {
      tags: allMarkdownRemark {
        group(field: frontmatter___tags) {
          fieldValue
          totalCount
        }
      }
    }
  `}

目前它包括所有曾经使用过的标签。我想将列表限制为前 10 个最受欢迎的标签。为此,我需要先按 totalCount 对它们进行排序。我怎样才能做到这一点?

标签: sortingtagsgatsby

解决方案


我不认为您可以对它们进行排序,然后仅使用 graphql 查询来限制它们。我的过程是查询整个标签列表,就像你拥有它一样,然后使用 javascript 来操作对象列表。有一篇文章介绍了如何对列表进行排序,就像您将从这里得到的列表一样:

按属性值排序对象

然后这将返回一个数组,您可以在数组上循环前十个对象。


推荐阅读