Призматический график запросов одного пользователя
Я пытаюсь выяснить, как запросить одного пользователя из схемы graphql по идентификатору. Я использую инструмент graphiql и смогу получить всех пользователей.
{
allPrismicUsers {
edges {
node {
id
data {
name
}
}
}
}
}
Выходы:
{
"data": {
"allPrismicUsers”: {
"edges": [
{
"node": {
"id": "Prismic__User__WzKFwywAABmiZk_4",
"data": {
"name": “John Doe”
}
}
},
{
"node": {
"id": "Prismic__User__WzKDZywAABmiZkYp",
"data": {
"name": “Jane Doe“
}
}
},
{
"node": {
"id": "Prismic__User__WzKGDiwAAJSiZlFL",
"data": {
"name": “Cat Doe”
}
}
}
]
}
}
}
У меня также есть prismicUser() на схеме
query {
prismicUser {
id
data {
name
}
}
}
Выход:
{
"data": {
"prismicUser": {
"id": "Prismic__User__WzKGDiwAAJSiZlFL",
"data": {
"name": "Cat Doe"
}
}
}
}
Я пытаюсь запросить пользователя на основе определенного идентификатора, но не уверен, что я запрашиваю неправильный путь. Я попробовал это.
query {
prismicLocation(id: "Prismic__User__WzKDZywAABmiZkYp") {
data {
name
}
}
}
Я получаю ошибку
{ "errors": [ { "message": "Аргумент \" id \ "имеет недопустимое значение \"Prismic__User__WzKDZywAABmiZkYp\".\nExpected \"prismicUserIdQueryString_2\", не найден объект.", "users": [ { "строка ": 25, " колонка ": 23 } ] } ] }
Как я могу позвонить конкретному пользователю по его идентификатору?
1 ответ
Согласно справке Gatsby GraphQL, Gatsby позволяет фильтровать результаты по любому полю в GraphQL (используя такие операторы, как eq
, ne
, так далее.)
gatsby-source-prismic
Плагин предоставляет поле под названием prismicId
(т.е. W1syKSIAAAzdN1Jg
).
Вот пример запроса:
{
prismicUser(prismicId:{eq:"WzKDZywAABmiZkYp"}) {
data {
name
}
}
}
Но вы также можете запросить по id
:
prismicUser(id:{eq:"Prismic__User__WzKDZywAABmiZkYp"})