如何修改Firebase数据库,以便我可以设置已读或未读状态

时间:2018-07-07 18:57:02

标签: reactjs firebase firebase-realtime-database notifications

我需要在通知铃中显示来自Firebase的未读邮件数。 我已经完成了在Web应用程序中显示集合中所有内容的工作。但是,当收到新消息时,我需要通过在通知铃中显示未读消息数来向用户提供反馈。据我的理解,为此,我需要设置一个Firebase集合中的已读/未读状态。是否可以通过其他方法在我的 React Web应用程序中显示未读消息的数量?

我正在使用npm的firebase软件包来显示消息。

以下是我的Firebase集合中的示例数据。

name:"John Doe",
message:"you got a new appointment"

我是 firebase 的新手。请提供一些逻辑上的问题来帮助我。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您可能想使用状态标志(读取:布尔值),除非,否则您不介意将所有新消息写入特定路径并将其移动到特定路径之后被读取。

类似以下内容

/user/unread-msg => all new messages come here
/user/read-msg   => messages are moved here after being read.

我认为这比使用简单标志的效率低。

您可以使用firebase云功能来维护特定路径(例如/user/unread-msg/user/read-msg)中子元素的计数,这样您就不必下载整个数据即可获得计数。

请参见https://github.com/firebase/functions-samples/tree/master/child-count

的示例代码