【问题标题】:Anonymous "likes/reactions" using Firebase使用 Firebase 的匿名“喜欢/反应”
【发布时间】:2022-02-18 21:59:58
【问题描述】:

从初级学徒到真正的 Jedy 的问题。

我正在为设计师作品集开发一个网站。无需任何注册和后端。我正在使用 Firebase。我需要添加一个功能来收集匿名用户对作品/帖子的“喜欢”(反应)。

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
     ..........

但在这种情况下,我如何计算特定帖子/艺术作品的“喜欢”总和?

另外,我是 Firebase 的新手,不知道如何为其编写规则。为了让匿名用户只能在 likes 数组中添加/删除他的 UID。或者我应该为这项任务使用其他解决方案吗?请帮帮我)

【问题讨论】:

    标签: angular firebase firebase-realtime-database google-cloud-platform


    【解决方案1】:

    或 UID 数组(匿名用户 ID)

    这是您可以拥有的最佳选择之一。每次用户喜欢某件作品时,在节点中添加 UID,如果撤回喜欢,则从该节点中删除 UID。

    但在这种情况下,我如何计算“喜欢”的总和?

    只需读取节点并计算子节点的数量。或者,您也可以根据需要增加/减少一个单独的计数器,以便更简单地读取。

    【讨论】:

    • 谢谢! " 或者,您也可以根据需要增加/减少一个单独的计数器,以便更简单地读取。"听起来真的很有帮助。但是我怎样才能做到这一点?我应该使用“firebase 功能”吗?
    • 是的,您可以使用 Cloud Functions。如何?只需侦听特定节点,每次添加新子节点时,递增计数器。
    • 非常感谢您的帮助并编辑我有问题的语法错误)
    猜你喜欢
    • 1970-01-01
    • 2018-06-26
    • 2018-05-27
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2017-02-07
    • 2021-07-10
    • 1970-01-01
    相关资源
    最近更新 更多