
我有一个简单的firebase数据库:/ rIDes是这样的简单对象列表
{ car: "Toyota" minutes: 15}我需要显示所有游乐设施的分钟总和.显而易见的解决方案是加载所有游乐设施并计算总和.但是,如果我有几百次骑行,这很慢,最多几秒钟.
所以我似乎必须在数据库中维护一个单独的字段/ totalMinutes.但因此每次添加/删除/更改行程时我都必须手动更新/ totalMinutes.无论如何,这不是一件大事.
但是,如果我只计算一部分游乐设施的总分钟数呢?例如,只有“丰田”汽车或“福特”汽车?手动维护/ totalMinutesFord,/ totalMinutesToyota现在看起来并不那么容易.
那么在firebase中维护这些动态值的正确方法是什么?
解决方法:
Firebase无法根据数据库中的数据自动计算值.
所以你的两个选择是:
>每次更新数据时计算值
>检索所有数据并计算客户端上的值
您已经(明智地)决定检索所有数据并不是一个好主意.您的用户将不胜感激.
因此,每当您更新乘坐数据时,都会计算派生值.我不确定为什么为多个值执行此 *** 作比为单个值执行 *** 作更困难.它可能是更多的代码,但它几乎是相同的代码:
var rIDe = { car: "Toyota", minutes: 15 };ref = new Firebase('https://yours.firebaseio.com/');ref.child('rIDes').push(rIDe);ref.child('totalMinutes').transaction(function(current_value) { return (current_value || 0) + rIDe.minutes;});ref.child('totalMinutes'+rIDe.car).transaction(function(current_value) { return (current_value || 0) + rIDe.minutes;}) 总结 以上是内存溢出为你收集整理的android – 在firebase中维护动态计算的值全部内容,希望文章能够帮你解决android – 在firebase中维护动态计算的值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)