【问题标题】:Updating statistics in multiple child nodes更新多个子节点中的统计信息
【发布时间】:2017-07-15 22:27:15
【问题描述】:

我正在创建一个 Soccer Fantasy Web 应用程序,目前我担心 Firebase 可能不是适合使用的后端服务。在我的实时数据库树中,有 2 个节点:

  1. 玩家节点 - 包含 49 名玩家的火力基地阵列。每个播放器都是一个 java 脚本对象,转换为 JSON 数组中的 JSON 对象。

  2. 用户节点 - 包含使用 fireabseAuth 方法创建后每个用户的详细信息。

在本地服务器中,有一个空数组。我所做的是让每个用户做出一个填充空数组的 6 人选择。填满后,数组将保存在用户节点下的实时数据库中。

我的问题

我的问题是如何在玩家节点中更新每个玩家的统计数据,以便玩家节点中更新的统计数据将反映在用户节点中每个用户的选择下。 这对firebase有可能吗?我希望是因为我真的很想利用数据库和客户端服务器之间的实时同步。

【问题讨论】:

    标签: javascript firebase web-applications firebase-realtime-database updating


    【解决方案1】:

    一切都与建筑有关。

    只要做到这一点,当用户选择一个玩家时,一个参考就会存储在他们的节点上。然后,每当您查询用户选择时,您只需在他们的选择中获取 id 并通过 id 从玩家节点中获取玩家。

    例如

    Users {
        John: {
            Selection: [1,2,3]
        },
        Mark: {
            Selection: [1,2,4]
        } 
    }
    
    Players {
        1: {
            name: 'Messi',
            agility: 90
        },
        2: {
            name: 'Beckham',
            agility: 54
        },
        3: {
            name: 'Rooney',
            agility: 10
        },
        4: {
            name: 'Neymar',
            agility: 84
        }
    }
    

    【讨论】:

    • 谢谢。这是否意味着当我改变时,比如梅西在 Players 节点中的敏捷性,它将在用户节点中为 John 在选择 [1] 下自动更新?
    • Yes :) 如果您在客户端上抓取数据,那么您需要确保当节点更改时,您的客户端将实时接收更改(或直到他们刷新将抓取的页面新鲜的数据)。你可以通过监听用户选择的播放器节点上的变化来做到这一点。
    • 谢谢,我试过写一些监听代码,但效果不佳,但我会再试一次。
    • 因为我已经导入了 49 名球员的 JSON 文件,有没有办法可以手动为每个球员添加 id,或者我必须重新制作 49 名球员名单添加 ID?跨度>
    • @DejiCalebAwoniyi 您可以在 Firebase 控制台中修改数据或构建一个用户界面来修改您的应用程序中的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    相关资源
    最近更新 更多