【问题标题】:Increment value in the database by one every day数据库中的值每天递增一
【发布时间】:2019-10-16 19:57:36
【问题描述】:

我的问题可能非常简单,但我会很感激任何帮助,我正在使用 java 和 firebase,并且我在数据库中有一个名为 count == 0 的变量,我需要每天将该值增加 1,因此在 30 天后变量 count 应该是 count == 30,唯一的麻烦就是以编程方式进行递增。

任何建议都将受到高度赞赏。

【问题讨论】:

  • UPDATE MY_TABLE SET COUNT = (COUNT +1) WHERE ID = 1234
  • 每天运行一些调度任务
  • 您已经尝试过什么解决方案,为什么那个解决方案没有让您满意?
  • 因此您希望每天执行一项任务(在您的情况下,增加数据库中的一个数字)。我建议搜索诸如“android 计划作业”(或任务)之类的主题
  • 如何使用System.currentTimeMillis() 存储created_at,然后以天为单位计算从created_atInstant.now() 的时间?没有可以失败的调度,没有可以操纵的计数器...stackoverflow.com/questions/37976468/…

标签: java android firebase logical-operators


【解决方案1】:

scheduled Cloud Function deployed with the Firebase CLI 将是在 Firebase 中更新数据的正确方法。您可以运行可以在特定时间(每天或每周都可以)触发的计划函数,并且您可以在函数内部的数据库中更新变量。这是来自 firebase 官方文档的示例:

exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
  .timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});

在此处阅读文档:https://firebase.google.com/docs/functions/schedule-functions#write_a_scheduled_function

【讨论】:

  • 在 Stack Overflow 上仅供参考,反引号用于标记代码的 sn-ps,而不是用于突出显示产品名称。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
  • 2021-01-31
  • 1970-01-01
相关资源
最近更新 更多