【问题标题】:prisma graphql pass argument to a nested queryprisma graphql 将参数传递给嵌套查询
【发布时间】:2020-12-31 16:28:15
【问题描述】:

我有一个 graphql 查询,它通过 id 提取业务,然后检索与该业务相关的所有评论。

query Business($id: ID!) {
    business(id: $id) {
      _id
      name
      desc
      reviews {
        _id
        text
        createdAt
        published
}
}

我面临的挑战是我只想提取已发布的评论。我能够通过使用字段解析器来实现这一点。但是我不太确定这是否是最好的方法,因为查询已经完成了提取所有评论的繁重工作,并且解析器仅过滤已发布的评论。

const Business = {
  reviews: (parent, args, ctx, info) => parent.reviews.filter(rev => rev.published)
}

下面是我的棱镜查询解析器:

  async business(parent, args, { prisma, request }, info) {
    let opArgs = {}
    opArgs.where = { _id: args.id }


    let post = null

    try {
      post = await prisma.query.business(opArgs, info)
      console.log(post)
    } catch (err) {
      throw new Error(err.message)
    }

    return post
  },

我的目标是在根目录上过滤已发布的评论。有没有更好的方法来解决这个问题。

请帮忙

【问题讨论】:

    标签: graphql apollo-client apollo-server prisma


    【解决方案1】:

    不能通过 id 和发布键查询评论吗?选择所有评论并过滤它们是没有意义的。

    【讨论】:

    • 能否详细说明。从逻辑上讲,这是应该做的,但怎么做?
    猜你喜欢
    • 2017-09-27
    • 2023-01-26
    • 1970-01-01
    • 2019-04-06
    • 2019-03-23
    • 1970-01-01
    • 2018-03-08
    • 2017-05-28
    • 2021-01-14
    相关资源
    最近更新 更多