代码之家  ›  专栏  ›  技术社区  ›  JV Lobo

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

  •  2
  • JV Lobo  · 技术社区  · 6 年前

    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!
    }
    

    基本上,我需要按帖子数量查询排序,但我还没有找到一种方法

    任何帮助都将不胜感激

    1 回复  |  直到 6 年前
        1
  •  3
  •   Errorname    6 年前

    正如@shivam panday在评论中所说,Prisma目前没有实施这一措施(见问题: https://github.com/prisma/prisma/issues/95 )

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

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

    query {
      allLinks(first: 10, orderBy: votes_DESC) {
        id
        url
        description
        _votesMeta {
          count
        }
      }
    }
    

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

    https://github.com/prisma/prisma/issues/95#issuecomment-320433296

        2
  •  0
  •   Noby Fujioka    5 年前

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

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

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