如何使用棱形的graphql API按链接文档/关系的uid进行过滤?

时间:2019-03-27 11:52:09

标签: graphql prismic.io

我正在尝试按照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
          }
        }
      }
    }
  }
}

很显然,这没有任何结果。

1 个答案:

答案 0 :(得分:0)

我也在Prismic Slack小组上问了这个问题,并从他们那里得到了答案:

要通过这样的“内容关系/链接”字段进行查询,您需要使用文档ID。

where: { category: "WBsLfioAABNUo9Kk" }

很遗憾,无法通过UID(或任何其他字段)进行查询。

我想他们会尽快更新其文档,因为这没有涵盖。

感谢棱形们!