使用Firebase进行服务器端计算
给定开始时间/date和持续时间,如何进行服务器端计算,以确定对象是"finished"
, "in progress"
还是"upcoming"
--Show --duration: "144" --startDate: "2015-11-10" --startTime: "14:00" --status: "?"
客户端JavaScript来确定展示是否已经开始了:
// if negative, then show hasn't started yet var time = (-(startdate.getTime() - currentdate.getTime()) / 1000 / 60);
客户端JavaScript来确定展示是否已经完成了运行:
// if negative, then show has finished var timeLeft = channelDuration - timerStartTime;
在Firebase上无法运行您自己的服务器端代码。 看到:
- 常见的Firebase应用程序体系结构
- Firebase托pipe自己的服务器node.js
- 我如何在Firebase中运行服务器端代码?
- 如何在使用Firebase时编写自定义代码(逻辑)
但是,你可以存储一个服务器端的时间戳,这似乎是你想要做的:
ref.child('Show/startTimestamp').set(Firebase.ServerValue.TIMESTAMP);
然后,您可以获取尚未开始的演出:
var shows = ref.child('Shows'); ref.orderByChild('startTimeStamp').startAt(Date.now()).on(...
对于经过的人,我想现在Firebase允许你通过Cloud Function
来做到这一点。 对于这种情况,当数据添加到数据库时,可以创build用于通过其他参数确定status
的函数。
请结帐
- Angular如何不在范围内更新?
- 带有Firebase的数据库式查询
- Firebase Data Desc在Android中sorting
- 如何限制Firebase数据修改?
- 无法加载模块描述符类:未find类“com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor”
- 明确Firebase连接
- 提交应用程序时,iOS 10 GM发布错误“由于GoogleSignIn,AdMob,应用程序尝试访问隐私敏感数据而没有使用说明”
- 无法获取提供者com.google.firebase.provider.FirebaseInitProvider
- Google云数据存储vs Firebase