【问题标题】:Get only those polls which user did not vote yet using Firestore query使用 Firestore 查询仅获取用户尚未投票的民意调查
【发布时间】:2020-01-20 16:50:46
【问题描述】:

我将 Firestore 用于我们的后端解决方案。我的应用概念很简单,用户会一一投票。我的问题是我如何为这个概念构建数据模型。用户只会对他尚未投票的投票进行投票。我坚持这一点,即我如何过滤用户未投票的民意调查,因为 Firestore 查询不支持 != 运算符。

我的 fetch polls 是

   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)

【问题讨论】:

  • 您可以发布您用于 Firebase 的数据库结构吗?
  • @Ashish 我更新了我的问题,请看一下谢谢

标签: android firebase google-cloud-firestore


【解决方案1】:

我会得到用户在集合 A 中投票的民意调查。然后在客户端获取所有民意调查的集合(我们称之为 B)。做一组差异 B-A。您将获得用户未投票的所有民意调查。

【讨论】:

  • 感谢您的回复,我理解您的意思。但现在我的问题是,当未来民意调查数据增加时,比如说 1000+,那么在本地进行过滤民意调查是否是好方法?我需要addSnapshotListener 回调,以便在某些投票时间到期时获得更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
相关资源
最近更新 更多