随机排序 GraphQL 查询

Sort GraphQL query randomly

我正在寻找 随机 sort GraphQL 查询的解决方案。我查看了文档,看来他们没有选择。

有谁知道随机化以下查询的一种方法或解决方法吗?

query {
  allContentfulAttraction(
    limit: 4
    filter: { location: { eq: "AttractionLocation1" } }
  ) {
    edges {
      node {
        id
      }
    }
  }
}

GraphQL 只是提供了一个框架,用于基于模式解析和验证字段值。它没有任何预设的过滤或排序查询数据的方法。是否向客户端公开方法以及如何实现该功能取决于服务器。

特别是关于 Gatsby,查看他们的 API 支持查询随机节点。充其量,您可以查询所有节点,然后使用 lodash 的 sampleSize 或 Chance 的 pickset.

从返回的数据中 select 一组随机元素

https://www.howtographql.com/graphql-js/8-filtering-pagination-and-sorting/ says sorting is handled by whichever framework you're using, such as Prisma orderBy or Lighthouse @orderBy.