Vul*_*lps 5 firebase swift google-cloud-firestore
我正在使用 Swift 在 IOS 上构建一个日历,并使用 Firestore 后端。
我一次检索一个月中每一天的所有事件。
目前我只能显示在特定日期开始的事件。
如果活动在周五晚上开始并在周一早上结束(想想周末假期),那就不好了。
所以...
我需要Event从 Firestore 获取所有文档,其中当前填充事件的日期位于Firestore 文档上的start和字段的时间戳之间。end
显而易见的第一选择是这样的:
db.collection("Event")
.whereField("user", isEqualTo: userID)
.whereField("start", isLessThanOrEqualTo: thisDate)
.whereField("end", isGreaterThanOrEqualTo: thisDate)
.getDocuments()
Run Code Online (Sandbox Code Playgroud)
但事实证明 Firebase 不允许我在不同的字段上运行 2 个不等式过滤器 [:(
我能想到的唯一的其他选择是获取今天之前开始的所有事件,扫描每个事件并检查它是否在今天之前结束,然后显示其余的事件。
但这似乎效率不高,尤其是考虑到 5 年后,用户可能一年中的每一天都会发生一个事件(需要在短时间内检查大量文档)。
有人对我如何做到这一点有任何建议吗?
谢谢 :)
更新
我忘了添加这个,这是数据库结构的屏幕截图:)
(请注意day,由于我已经开始使用时间戳,因此month、 和year已过时)
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |