在特定时间后更新 Firebase 实时数据库



考虑以下存储在Firebase中的JSON格式数据库 -

"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 云函数,该函数在创建新调查时触发。
但是我应该怎么做才能在 24 小时后将可见性更新为0time_posted

编辑:我检查了这个问题的解决方案,并按照说明-

  • 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.

使用time_posted来检查Date.now() - time_posted <= 24 * 60 * 60 * 1000可能更容易(确保它在发布后的一天内)。

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

相关内容

  • 没有找到相关文章

最新更新