1

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)]
        }
    }
}

事前に感謝します。どんな助けでも大歓迎です。

4

1 に答える 1