如何计算文档在 Firebase 中被下载了多少次?

How to count how many times document was downloaded in Firebase?

我的 Firestore 数据库中有一个包含 post 的集合。每个 post 在主 post 文档(屏幕截图)

中的集合 comments 中都有一些评论作为文档

在我的 Android 应用程序中,当我单击 post 项目时,我会转到 PostDetail 屏幕并在那里下载评论。 我想为每个已下载和显示的评论增加 timesViewed 的值。

可以吗?我想以最有效的方式做到这一点。我不想通过发送请求 timesViewed++ 来手动增加每条评论。

很遗憾,RealtimeDatabase的firebase和firestore中没有这样的自动增加字段的功能。 但是你可以创建一个计数器并在每次onResponse()或onComplete时检索计数器并增加1,不推荐这样做有2个原因。

  1. 产生额外的流量,尤其是当用户数量很大时
  2. 不可靠,因为有人可以故意增加它

但是如果你不介意流量很大,并且坚持这样做,不要忘记在firebase控制台中设置规则来控制增量频率。

I want to increment the value of timesViewed for each comment which has been downloaded and displayed.

如果您正在寻找自动执行此操作的东西,请注意没有任何东西 built-in。

Is it possible to do that?

是的,但是你应该实现自己的机制。

I don't want to increment every single comment manually by sending a request timesViewed++.

很遗憾,没有别的办法。然而,它很容易实现。您可以使用 .