firebase - 如何在带有 Firebase 的聊天应用程序中设计“未读消息计数”功能
问题描述
为了计算未读消息,我创建了一个计数字段,它的工作方式如下:
- 设置 count_unread = 0
- 如果 new_message : count_unread++
- 如果用户加入聊天室:设置 count_unread = 0
- 如果用户已经在聊天室,我有一个监听器来监听数据库更改,然后在屏幕上显示消息并设置 count_unread = 0
但是,如您所知,Firebase 对每个读/写命令收费。因此,如果该用户已经在聊天室中,则每条新消息都会创建 2 次写入(设置 count_unread +1 和设置 count_unread=0)。有什么办法可以优化吗?
解决方案
推荐阅读
- canvg - 错误 TS2307:找不到模块“canvg”或其相应的类型声明
- python - 如何为 Tesseract 提高此图像的质量?
- node.js - 价值不被一个人所强化?
- vert.x - Vertx - 不保证verticle中的停止方法
- anylogic - 如何在anylogic中将数据库位置设置为GISPoints
- vba - 使用相同的“字符串值”但不同的 ID 在拆分表单上对组合框中的记录进行分组
- python - 朗伯函数
- flutter - 颤动复制错误:未定义命名参数'id' undefined_named_parameter
- python - 根据其他列计算 DataFrame 列
- apache-spark - 为什么 Spark 中的 RDD、Dataframe 和 Dataset 都被称为 Api?