使用 Firebase 的匿名 "likes/reactions"

Anonymous "likes/reactions" using Firebase

初级学徒对真正的杰迪的提问。

我正在为设计师作品集开发一个网站。无需任何注册和后端。我正在使用 Firebase。我需要添加一个功能来收集 works/posts.

上匿名用户的“喜欢”(反应)

Firebase RTDB 结构:

+artworks:
  +someArtWorkID1: 
     name: "lorem ipsum"
     description: "lorem ipsum"
     date: "01.01.1970"
     src: "here should be url to picture"
     **likes**: (?)

不知道如何实现。它应该是一个简单的数字还是一组 UID(匿名用户 ID)?

或其他结构:

 +artworks...
 +likes:
   +idOfArtwork:
     uid: true,
     uid2: true
     ..........

但在那种情况下,我如何计算特定 post/artwork 的“喜欢”总数?

此外,我是 Firebase 的新手,不知道如何为其编写规则。为了让匿名用户可以 add/delete 只有他在 likes 数组中的 UID。或者我应该为此任务使用其他解决方案吗?请帮助我)

or array of UIDs (anonymous user IDs)

这是您可以拥有的最佳选择之一。用户每次点赞一个作品,就把UID添加到一个节点,如果撤回点赞,就从那个节点移除UID。

But in that case how can I calculate the sum of "likes"?

简单的读取节点,统计children的个数。或者,如果需要,您也可以 increment/decrement 一个单独的计数器,以便于阅读。