Firebase可以在不同的移动设备之间同步数据,以便实时应用。我是否可以使用firebase对这些数据执行任何服务器端操作,并仅将这些操作的结果推送到感兴趣的设备而不是原始数据?
就像当移动设备上的号码从10更改为100时,服务器只需按下一个标记表示更大的标记,而不是将新号码100推送到其他设备。
答案 0 :(得分:2)
Firebase本身并不能为您提供在其服务器上运行数据操作代码的方法。
在最简单的情况下,您可以让客户端使用transaction
计算这些派生值,以防止存在跨客户端影响(如您的示例所示)。
您还可以设置自己的服务器来监控Firebase数据(可能通过您用于客户端的相同API),计算这些派生值并将其写回Firebase。然后,实际的移动设备将仅监视导出的值。然后,此服务器应在提升/受信任的帐户下运行,该帐户可以是众所周知的名称,也可以使用您可以在Firebase信息中心/ forge中找到的密码。
您甚至可以像客户一样做。因此,只需拥有一个网页,您可以在您控制的计算机上运行,而其他人则无法访问。但是你可能最好为此设置一个单独的(例如node.js)服务器。
要实现的最重要的事情是,您不需要托管/数据中心的真实服务器来满足您的需求。 Firebase是防火墙友好的,与许多其他服务不同,您不需要提供他们将呼叫您的可公开访问的回发URL。因此,您可以在家中运行应用程序的“服务器”部分(取决于您的计算机的可靠性,Internet连接以及应用程序的派生数据的最新要求)。