gpt4 book ai didi

firebase - 使用 firestore 计算群聊中看不见的消息

转载 作者:行者123 更新时间:2023-12-04 17:43:24 25 4
gpt4 key购买 nike

我想跟踪群聊中每个成员未看到消息的数量。我将聊天元数据存储在 chats 集合中,并将每次聊天的消息存储在 messages/{chatId} 中。

我已经检查了其他询问此问题的线程,但在这种情况下有一个群聊,所以它更复杂。我读过的线程假设这是两个人之间的聊天。

我考虑过创建一个新集合 seenMsgTimestamps,我在其中存储某个用户在每个群聊中看到的最后一条消息的时间戳。在我的应用程序中,我将从 seenMsgTimestamps 中为该聊天找到的时间戳开始监听 messages 的变化,并计算那里有多少条新消息。

这是一个好方法还是有更好的方法?

提前致谢。

最佳答案

在我看来,您可以继续使用此解决方案。为什么这个解决方案很好?

I have thought about having a new collection seenMsgTimestamps where I store the timestamp of the last message that a certain user has seen for each group chat.

您可以通过创建新集合来对数据进行非规范化,这对于 NoSQL 数据库来说是一种非常常见的做法。在您的特殊情况下,我认为这是最好的解决方案。

In my app, I will listen to changes to messages starting from the the timestamp found in seenMsgTimestamps for that chat

这也很好,因为您正在对有限的数据集而不是整个集合使用查询,这意味着更少的读取、更少的支付费用,但性能更高。

关于计数,我建议您也阅读我在这个 post 中的回答的最后部分。 。因此,您也可以考虑使用 Firebase 实时数据库。

关于firebase - 使用 firestore 计算群聊中看不见的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53359694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com