Graphql 棱镜图形查询单用户
我试图找出如何通过id从graphql模式中查询单个用户。我使用graphiql工具,能够获取所有用户Graphql 棱镜图形查询单用户,graphql,gatsby,prismic.io,Graphql,Gatsby,Prismic.io,我试图找出如何通过id从graphql模式中查询单个用户。我使用graphiql工具,能够获取所有用户 { allPrismicUsers { edges { node { id data { name } } } } } 输出: { "data": { "allPrismicUsers”: { "edges": [
{
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”
}
}
}
]
}
}
}
{
"data": {
"prismicUser": {
"id": "Prismic__User__WzKGDiwAAJSiZlFL",
"data": {
"name": "Cat Doe"
}
}
}
}
我在模式上还有prismicUser()
query {
prismicUser {
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”
}
}
}
]
}
}
}
{
"data": {
"prismicUser": {
"id": "Prismic__User__WzKGDiwAAJSiZlFL",
"data": {
"name": "Cat Doe"
}
}
}
}
我试图根据特定id查询用户,但不确定是否查询方式错误。
我试过这个
query {
prismicLocation(id: "Prismic__User__WzKDZywAABmiZkYp") {
data {
name
}
}
}
我犯了一个错误
{“错误”:[
{
“消息”:“参数\“id\”具有无效值\“Prismic\uuuu User\uuuu WzKDZywAABmiZkYp\”\n预期
\“prismicUserIdQueryString_2\”,未找到对象。“,
“用户”:[
{
“行”:25,
“栏”:23
}
]
}]}
如何根据特定用户的id调用该用户?根据,Gatsby允许您按GraphQL中的任何字段过滤结果(使用诸如eq
,ne
等运算符)
gatsby source prismic
插件提供了一个名为prismicId
的字段(即W1syKSIAAAzdN1Jg
)
以下是一个查询示例:
{
prismicUser(prismicId:{eq:"WzKDZywAABmiZkYp"}) {
data {
name
}
}
}
但您也可以通过id
进行查询:
prismicUser(id:{eq:"Prismic__User__WzKDZywAABmiZkYp"})
谢谢Gabe这真的很有帮助,非常感谢。我在盖茨比图形参考页上看到503个错误?在任何其他我可以准备好的地方,或者有如何遍历查询的示例。最好有一个参考列表,在某处显示代码示例。我的猜测是,如果503不存在,Gatsby GraphQL引用正试图这么做。Gabe有什么理由不在使用prismicId的allPrismicUsers上使用filter选项?或者改用prismicUser更快。不确定两者之间的区别是什么,除了一个返回全部,另一个只返回1?所以我想prismicUser是解决这个问题的方法??