Получить только те опросы, которые пользователь еще не голосовал, используя запрос Firestore - PullRequest
0 голосов
/ 19 сентября 2019

Я использую firestore для нашего бэкэнд-решения.Моя концепция приложения проста, пользователь будет голосовать по опросам один за другим.Мой вопрос заключается в том, как я структурирую модели данных для этой концепции.Пользователь будет голосовать только за те опросы, которые он еще не голосовал.Я застрял в этом вопросе, как я фильтрую опросы, что пользователь не проголосовал, потому что запрос firestore не поддерживается ! = оператор.

Poll collection document structure

Мой запрос на выборочные опросы

   db.collection(POLLS)
        .whereArrayContains(
            Poll.AGE_RANGE,
            DateTimeUtils.calculateAge(user?.dateOfBirth)// integer value
        )
        .whereEqualTo("gender.${user?.gender}", true)
        .orderBy(Poll.CREATED_AT)
        .limit(QUEUE_LIMIT)

1 Ответ

0 голосов
/ 19 сентября 2019

Я бы получил опросы, где пользователь проголосовал в наборе А. Затем в клиенте получим набор со всеми опросами (назовем его B).Устанавливаем разницу БА.Вы получаете все опросы, где пользователь не голосовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...