Запросы в Firebase ребенком ребенка

У меня есть структура объектов в Firebase, которая выглядит следующим образом:

-KBP27k4iOTT2m873xSE
    categories
        Geography: true
        Oceania: true
    correctanswer: "Yaren (de facto)"
    languages: "English"
    question: "Nauru"
    questiontype: "Text"
    wronganswer1: "Majuro"
    wronganswer2: "Mata-Utu"
    wronganswer3: "Suva"

Я пытаюсь найти объекты по категориям, поэтому, например, я хочу, чтобы все объекты, для которых установлена ​​категория "Океания".

Я использую Swift, и я не могу понять концепцию запроса данных.

Мой запрос сейчас выглядит так:

ref.queryEqualToValue("", childKey: "categories").queryOrderedByChild("Oceania")

кудаref является ссылкой на Firebase в этом конкретном пути.

Однако, что бы я ни пытался, я продолжаю возвращать ВСЕ данные вместо объектов только с категорией Океания.

Мои данные структурированы так:baseurl/questions/

Как вы можете видеть в примере объекта, к одному вопросу может быть добавлено несколько категорий, поэтому из того, что я понял, лучше всего иметь ссылку на категории внутри ваших объектов.

Я мог бы изменить свою структуру наbaseurl/questions/oceania/uniqueids/, но тогда я бы получил несколько записей, охватывающих одни и те же данные, но с разнымиuniqueidпотому что вопрос будет присутствовать в обеих категорияхoceania а такжеgeography.

Используя структуруbaseurl/questions/oceania/ а такжеbaseurl/questions/geography Я также мог бы просто добавитьunique ids подoceania а такжеgeography это указывает на конкретныйunique id внутриbaseurl/questions/uniqueids вместо этого, но это означало бы, что мне придется отслеживать множество ссылок. Составление таблицы отношений, так сказать.

Интересно, так ли это? Должен ли я реструктурировать свои данные? Приложение еще не запущено, поэтому можно полностью реструктурировать данные без каких-либо более серьезных последствий, за исключением того, что мне пришлось бы переписать мой код, который передает данные в Firebase.

Дайте мне знать, если все это не имеет смысла, и извините за стену текста :-)