Graphql 查询以获取按关系中的项数排序的数据

Graphql 查询以获取按关系中的项数排序的数据,graphql,prisma,prisma-graphql,Graphql,Prisma,Prisma Graphql,假设我有一个典型的数据模型,在许多教程中使用: type User { id: ID! @unique name: String! posts: [Post!]! } type Post { id: ID! @unique title: String! content: String! published: Boolean! @default(value: "false") author: User! } 有没有一个查询我可以建立一个列表,比如说,10个用户有

假设我有一个典型的数据模型,在许多教程中使用:

type User {
  id: ID! @unique
  name: String!
  posts: [Post!]!
}

type Post {
  id: ID! @unique
  title: String!
  content: String!
  published: Boolean! @default(value: "false")
  author: User!
}
有没有一个查询我可以建立一个列表,比如说,10个用户有更多的帖子?? 基本上,我需要通过“计数”的帖子来查询排序……但我还没有找到一种方法来做到这一点

任何帮助都将不胜感激


欢呼声

正如@shivam panday在一篇评论中所说的,目前Prisma没有实施这一措施(见问题:)

此评论特别解释了您的问题:

它将是伟大的,能够按“到许多”相关领域以及(由相关项目的计数)

例如,要获取链接投票率最高的前10名(假设投票是[Vote!]类型的相关字段),请执行以下操作:

目前,要获得该列表,您必须查询每个链接,然后在客户机上对其进行排序/切片,这可能会导致大量的抓取


有问题的评论:

我在Prisma身上遇到了同样的问题,这是一个重大问题。检索所有用户及其所有帖子,并按其帖子数量排序不是一个实用的解决方案

我能想到的解决办法是跟踪帖子的数量(每次添加/删除帖子时),并将其存储在User中

type User {
  id: ID! @unique
  name: String!
  postsCount: Int!
  posts: [Post!]!
}
这样,Prisma将公开PostScont的排序选项


我不确定Prisma 2是否为这个问题提供了合适的解决方案。。。有人知道吗?

你经历过吗?我没有。但这是我想要的吗?我想要的是让用户按帖子数量排序。因此,为每个用户计数(帖子)并按该数字排序。我认为他们在那个问题上谈论的不一样,是吗?谢谢你的回答!是的,那是真的。这就是我需要的。。。由于目前的Prisma实现不可能做到这一点,你们能想到什么解决办法吗?干杯:)使用Prisma api,我不确定是否有一种方法可以做到这一点,它不需要检索所有有投票权的用户,然后自己进行排序。我认为这不是一个好的解决方案,因为它会占用您后端的大量资源。但是,您可以使用对数据库的原始访问来查询用户并对其进行排序。您将检索它们的ID,然后执行一个简单的Prisma查询,以获取它们所需的信息。()
type User {
  id: ID! @unique
  name: String!
  postsCount: Int!
  posts: [Post!]!
}