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)]
}
}
}
事前に感謝します。どんな助けでも大歓迎です。