单一查询不会返回嵌套数组

时间:2020-03-03 11:47:07

标签: node.js graphql graphql-js prisma prisma-graphql

我有一个尝试获取单个文档的查询,这是该查询的解析器。

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

我询问了团队字段,但没有返回。

我觉得查询解析器有问题吗?我想念什么?

1 个答案:

答案 0 :(得分:0)

我能够使用 graphQL 片段

片段

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