在特定时间后更新 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 &lt;= 24 * 60 * 60 * 1000 可能更容易进行时间差异(确保它在发布后的一天内)。

或者,在 child_added 事件中,您可以执行 setTimeout,在 24 小时后回调并更新 visibility 标志,但这似乎有点混乱。

【讨论】:

以上是关于在特定时间后更新 Firebase 实时数据库 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在特定时间后更新firebase数据库中的值,比如10分钟后?

Firebase实时数据库REST API是否支持不同实体位置的多路径更新?

如何从 Firebase 实时数据库中检索特定数据?

如何在 Firebase 实时数据库(Android 开发)中获取特定子项的键值?

更新 Firebase 中键的值

如何使用 Firebase 实时数据库?