Подкатегория Query FireStore

У меня есть следующая структура в FireStore,

  • вопросы [сбор]

    • викторина 1 [документ]

      • Результаты [Коллекция]

Я хочу иметь вопросы в сборнике вопросов, а затем, когда пользователь отвечает на вопрос, его результат сохраняется в подзаголовке вопроса с идентификатором строки пользователя в качестве идентификатора. Моя проблема в том, как я могу запросить вопросы, на которые пользователь не ответил. т.е. неотвеченные вопросы – это те, которые не имеют результата с идентификатором пользователя в качестве идентификатора. Надеюсь на это достаточно ясно. Благодарю. Скриншот FireStore

val questionsRef = db.collection("questions") val query = questionsRef.whereEqualTo( questionsRef.document().collection( "results" ).document(App.INSTANCE.appUUIDString), null) .limit(50).get() 

Один из подходов состоит в том, чтобы иметь объект в записи пользователя (или отдельную коллекцию, проиндексированную userId), которая перечисляет ответы на вопросы, на которые они ответили, а затем запрашивать те, на которые они не ответили. (Для этого потребуется получить список всех вопросов и удалить ответы на них.) Вы должны будете получать вопросы поочередно в цикле.

В базе данных no-sql вы получите несколько индексов для этого типа структуры.