Как я могу фильтровать по uid связанного документа/отношения, используя prismic graphql api?

Я пытаюсь перечислить набор статей по их категориям, по uid и предполагаю, что мне придется использовать запрос where, но я не могу заставить его работать со связанными документами.

Похоже, проблема в том, что where принимает только строку в поле, но в случае связанного документа вам нужно будет докопаться до поля uid.

Я не уверен, что использую неправильный запрос, но изо всех сил пытаюсь найти что-нибудь в документации, чтобы помочь мне.

Я попытался копаться в объекте категории:

{
  allDirectoryServices(
    where: { category: { _meta: { uid: "developers" } } }
  ) {
    edges {
      node {
        name
        city
        region
        country
        category {
          ...on DirectoryTaxonomy {
            _meta {
              uid
            }
            name
          }
        }
      }
    }
  }
}

Но это возвращает ошибку, ожидающую строку:

"message": "Expected type String, found {_meta: {uid: \"developers\"}}.",
{
  allDirectoryServices(
    where: { category: "developers"}
  ) {
    edges {
      node {
        name
        city
        region
        country
        category {
          ...on DirectoryTaxonomy {
            _meta {
              uid
            }
            name
          }
        }
      }
    }
  }
}

Это, очевидно, не дает никаких результатов.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
1
0
296
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я задал этот вопрос и в группе Prismic Slack и получил от них ответ:

Чтобы сделать запрос по полю Content Relationship/Link, подобному этому, вам необходимо использовать идентификатор документа.

where: { category: "WBsLfioAABNUo9Kk" }

К сожалению, запрос по UID (или любому другому полю) невозможен.

Я предполагаю, что они скоро обновят свою документацию, так как это ею не охвачено.

Спасибо ребятам из Prismic!

Другие вопросы по теме