【问题标题】:GraphQL - sort error - Unknown argument "sort"GraphQL - 排序错误 - 未知参数“排序”
【发布时间】:2022-01-16 04:22:17
【问题描述】:

我需要您的帮助才能按字段 createdAt 以降序对 GraphQL 数据进行排序。当按 ID 进行查询时,API 不允许您对给定 ID 的数组进行排序。 如果我删除排序键,查询运行正常,但数据按升序排列(从旧到新),我需要检索所有新值。

你知道如何对数组进行排序吗? 提前谢谢!

  query GetCategory{
    category(id: 4, sort: "createdAt:desc") {
      data
        {
          id
          attributes
          {
            name
            reviews{
              data
              {
                id
                attributes
                {
                  title
                  body
                  rating
                  createdAt
                  categories{
                    data
                    {
                      id
                      attributes{
                        name
                      }
                    }
                  }
                }
              }
            }
          }
        }
    }
  }

【问题讨论】:

  • 这取决于 GraphQL API 的后端架构。它接受sort: ... 字段吗?还是设计不同?如果您可以共享排序模式,它可以帮助回答查询。请查看可能的排序选项:here

标签: reactjs graphql strapi


【解决方案1】:

我只需要添加排序不是在顶级,而是在字段级别,因为只有一个 id(你不能排序:)),但仅仅因为有嵌套字段,你必须对它们进行排序在子/字段级别,即reviews (sort: "createdAt:desc")

完整代码为:

const CATEGORY= gql`
  query GetCategory{
    category(id: 5) {
      data
        {
          id
          attributes
          {
            name
            reviews (sort: "createdAt:desc") {. <== HERE
              data
              {
                id
                attributes
                {
                  title
                  body
                  rating
                  createdAt
                  categories{
                    data
                    {
                      id
                      attributes{
                        name
                      }
                    }
                  }
                }
              }
            }
          }
        }
    }
  }
`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 2018-01-29
    • 2017-07-13
    • 1970-01-01
    • 2014-03-13
    • 2019-09-16
    • 2017-05-15
    • 1970-01-01
    相关资源
    最近更新 更多