单一查询不会返回嵌套数组
Posted
技术标签:
【中文标题】单一查询不会返回嵌套数组【英文标题】:Singular query won’t return nested arrays 【发布时间】:2020-06-15 19:05:40 【问题描述】:我有一个尝试获取单个文档的查询,这是该查询的解析器。
const singleDoc = async (_parent, args, context, info) =>
try
return await context.prisma.doc( id: args.docId ,info )
catch (error)
console.log(error)
如果我在 GraphQL 中调用查询,它会返回:
"data":
"singleDoc":
"name": "Sample doc",
"teams": null,
"description": "This holds doc description"
我查询了 teams 字段,但没有返回。
我觉得查询解析器有问题?我错过了什么?
【问题讨论】:
您还有其他使用context.prisma.doc
的查询吗?当您登录context.prisma
时,您看到您的数据库实例了吗?
@technicallynick 是的,我可以看到数据库实例
【参考方案1】:
我能够通过使用 graphQL fragments
实现片段
const docFragment = `
fragment DocWithDetails on Doc
name
teams
id
role
`
然后我将 graphQL 片段传递给解析器。这是我能够检索嵌套关系
const singleDoc = async (_parent, args, context, info) =>
try
return await context.prisma.doc( id: args.docId ).$fragment(docFragment)
catch (error)
console.log(error)
【讨论】:
以上是关于单一查询不会返回嵌套数组的主要内容,如果未能解决你的问题,请参考以下文章
Apollo GraphQL 客户端不会在查询中返回缓存的嵌套类型