Я пытаюсь запустить запрос GROQ для своего проекта Sanity.io, который должен отфильтровать дочерние документы, содержащие ссылки на основе идентификатора бабушки и дедушки. Возможно ли это сделать?
Я пришел к выводу, что для подобных сценариев я мог бы использовать родительский оператор следующим образом:
references(^._id)
Но в моем случае мне нужен идентификатор дедушки и бабушки, поэтому я не могу использовать родительский оператор так, как я написал запрос сейчас.
Я также могу четко прочитать в документации:
Известная проблема Оператор ^ в настоящее время работает только с подзапросами. Во всех других областях он возвращает корень текущей области, а не родительскую область. Также нельзя использовать ^ для обозначения дедушек и бабушек.
Но информации об обходном пути нет.
В настоящее время запрос выглядит так. Мне нужны только страницы, которые ссылаются на идентификатор команды. Но прямо сейчас, используя ссылки (^ ._ id) в текущей позиции (страницы), я получаю только ссылочный идентификатор от родителя (спорт), а не от бабушки и дедушки (команды), которые Я нуждаюсь.
*[_type == 'client' && alias == 'ipsum']{
_id, name, teams[]->{
_id, name,
sports[]->{
name,
"pages": *[_type=='page' && references(^.id)]
}
}
}
Заранее спасибо, любая помощь будет принята с благодарностью.
Sport
иPage
? - person thomax   schedule 29.07.2019