如何解决pyramida graphql将参数传递给嵌套查询
我有一个graphql查询,通过id提取一个业务,然后检索与该业务相关的所有评论。
query Business($id: ID!) {
business(id: $id) {
_id
name
desc
reviews {
_id
text
createdAt
published
}
}
我面临的挑战是我只想发表已发表的评论。我可以通过使用字段解析器来实现此目的。但是我不太确定这是否是最好的方法,因为查询已经完成了所有评论的繁重工作,并且reolver仅过滤发布的评论。
const Business = {
reviews: (parent,args,ctx,info) => parent.reviews.filter(rev => rev.published)
}
以下是我的带有Arizonaa查询的解析器:
async business(parent,{ 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
},
我的目标是过滤根源上已发布的评论。有没有更好的方法来解决这个问题。
请帮忙
解决方法
您不能通过ID和已发布密钥查询评论吗?选择所有评论并在过滤之后将它们毫无意义。