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

How can I filter by uid of a linked document / relationship using the prismic graphql api?

我正在尝试按类别和 uid 列出一组文章,我假设我必须使用 where 查询,但我无法得到它处理链接文档。

问题似乎是 where 只接受字段上的字符串,但在链接文档的情况下,您需要深入挖掘 uid 字段。

我不确定我是否使用了错误的查询,但很难在文档中找到任何帮助我的东西。

我尝试深入研究类别对象:

{
  allDirectoryServices(
    where: { category: { _meta: { uid: "developers" } } }
  ) {
    edges {
      node {
        name
        city
        region
        country
        category {
          ...on DirectoryTaxonomy {
            _meta {
              uid
            }
            name
          }
        }
      }
    }
  }
}

但是 returns 一个错误,它期待一个字符串:

"message": "Expected type String, found {_meta: {uid: \"developers\"}}.",
{
  allDirectoryServices(
    where: { category: "developers"}
  ) {
    edges {
      node {
        name
        city
        region
        country
        category {
          ...on DirectoryTaxonomy {
            _meta {
              uid
            }
            name
          }
        }
      }
    }
  }
}

这returns显然没有结果。

我也在Prismic Slack群上问过这个问题,得到了他们的回答:

为了通过这样的内容关系/Link 字段进行查询,您需要使用文档 ID。

where: { category: "WBsLfioAABNUo9Kk" }

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

我想他们很快就会更新他们的文档,因为这不在其中。

感谢 Prismic 的家伙们!