在特定时间后更新 Firebase 实时数据库 [重复]
Posted
技术标签:
【中文标题】在特定时间后更新 Firebase 实时数据库 [重复]【英文标题】:Update Firebase Realtime Database after specific time [duplicate] 【发布时间】:2018-09-14 11:18:41 【问题描述】:考虑以 JSON 格式存储在 firebase 中的以下数据库 -
"root":
"survey":
"1":
"survey_question":"Who is a better player?",
"option1":"Ronaldo",
"option2":"Messi",
"time_posted":7854123265,
"visibility":1
,
"2":
"survey_question":"Who is a better singer?",
"option1":"Ed Sheeran",
"option2":"Chris Martin",
"time_posted":9865321245,
"visibility":1
我可以编写一个在创建新调查时触发的 Firebase 云函数。
但是我应该怎么做才能在time_posted
24 小时后将可见性更新为0
?
编辑:我查看了this question 的解决方案并按照说明操作-
在index.js
文件中编写了我想要触发并成功部署的函数。
在cron-job.org 使用以下函数地址创建了一个cron 作业-https://us-central1-<PROJECT-ID>.cloudfunctions.net/<FUNCTION-NAME>?key=<PROJECT-KEY>
cron 作业执行失败,出现以下错误消息-Error: Forbidden
Your client does not have permission to get URL /<FUNCTION-NAME>?key=<PROJECT-KEY> from this server.
【问题讨论】:
【参考方案1】:使用time_posted
来检查Date.now() - time_posted <= 24 * 60 * 60 * 1000
可能更容易进行时间差异(确保它在发布后的一天内)。
或者,在 child_added
事件中,您可以执行 setTimeout
,在 24 小时后回调并更新 visibility
标志,但这似乎有点混乱。
【讨论】:
以上是关于在特定时间后更新 Firebase 实时数据库 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在特定时间后更新firebase数据库中的值,比如10分钟后?
Firebase实时数据库REST API是否支持不同实体位置的多路径更新?