Graphql 棱镜图形查询单用户

Graphql 棱镜图形查询单用户,graphql,gatsby,prismic.io,Graphql,Gatsby,Prismic.io,我试图找出如何通过id从graphql模式中查询单个用户。我使用graphiql工具,能够获取所有用户 { allPrismicUsers { edges { node { id data { name } } } } } 输出: { "data": { "allPrismicUsers”: { "edges": [

我试图找出如何通过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”
            }
          }
        }
      ]
    }
  }
}
{
  "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是解决这个问题的方法??