Единственный запрос не вернет вложенные массивы - PullRequest
1 голос
/ 03 марта 2020

У меня есть запрос, который пытается извлечь один документ, вот преобразователь для этого запроса.

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 голосов
/ 04 марта 2020

Я смог достичь, используя 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)
    }
}
...