【发布时间】:2022-01-09 20:42:56
【问题描述】:
在实现一个聊天应用程序时,实时分页似乎很复杂,考虑到消息的不断添加和可能删除,存在许多边缘情况。
为了避免这种情况,我想知道,如果我使用获取最新 50 条消息的流,那么如果用户向上滚动,我会将获取限制增加到 200 条,依此类推。
return firestore
.collection("chatrooms")
.doc(chatroomId)
.collection('messages')
.orderBy('timestamp', descending: true)
.limit(documentLimit)
.snapshots()
这种逻辑会导致: 50 + 200 = 250 次读取。还是 50 + 150 = 200 次读取?
我已阅读文档,但我不确定此案的结果。
【问题讨论】:
-
对于聊天应用程序,使用实时数据库,并偶尔将对话迁移到 Firestore。实时数据库中 10 亿条 1kkk 消息的成本约为 40-50 美元,而 Firestore 中的成本为 1000 美元。
标签: firebase flutter google-cloud-firestore