我试图弄清楚如何通过id从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”
}
}
}
]
}
}
}
我在模式上也有pyramidicUser()
query {
prismicUser {
id
data {
name
}
}
}
输出:
{
"data": {
"prismicUser": {
"id": "Prismic__User__WzKGDiwAAJSiZlFL",
"data": {
"name": "Cat Doe"
}
}
}
}
我正在尝试根据特定的ID查询用户,但不确定是否查询错误的方式。 我试过了
query {
prismicLocation(id: "Prismic__User__WzKDZywAABmiZkYp") {
data {
name
}
}
}
我收到错误
{“错误”:[ { “ message”:“参数\” id \“具有无效值\” Prismic__User__WzKDZywAABmiZkYp \“。\ n期望 \“ prismicUserIdQueryString_2 \”,未找到对象。“, “用户”:[ { “行”:25, “栏”:23 } ] }]}
如何根据他们的ID呼叫特定用户?
答案 0 :(得分:0)
根据Gatsby GraphQL reference,Gatsby允许您按GraphQL中的任何字段过滤结果(使用eq
,ne
等运算符)
gatsby-source-prismic
插件提供了一个名为prismicId
(即W1syKSIAAAzdN1Jg
)的字段。
这是一个示例查询:
{
prismicUser(prismicId:{eq:"WzKDZywAABmiZkYp"}) {
data {
name
}
}
}
但是您也可以通过id
进行查询:
prismicUser(id:{eq:"Prismic__User__WzKDZywAABmiZkYp"})