我正在尝试为我的 Sanity.io 项目运行 GROQ 查询,该查询应该过滤掉包含基于祖父母 ID 的引用的子文档。有可能这样做吗?
我已经了解到,对于类似的场景,我可以像这样使用父运算符:
references(^._id)
但就我而言,我需要祖父母 ID,因此我无法像现在编写查询那样使用父运算符。
我也可以清楚地阅读文档:
已知问题 ^ 运算符目前仅适用于子查询。在所有其他作用域中,它返回当前作用域的根,而不是父作用域。也不能使用 ^ 来引用祖父母范围。
但没有关于解决方法的信息。
查询当前看起来像这样。我只需要引用团队 ID 的页面。但是现在,使用当前位置(页面)中的引用(^._id),我只从父母(体育)而不是我需要的祖父母(团队)获得参考ID。
*[_type == 'client' && alias == 'ipsum']{
_id, name, teams[]->{
_id, name,
sports[]->{
name,
"pages": *[_type=='page' && references(^.id)]
}
}
}
在此先感谢,任何帮助都将不胜感激。