Javascript 如何在iOS应用程序中删除Firebase中超过6小时的数据?

Javascript 如何在iOS应用程序中删除Firebase中超过6小时的数据?,javascript,ios,database,swift,firebase,Javascript,Ios,Database,Swift,Firebase,我正在实施一个基于事件的iOS应用程序。这些事件有开始时间和结束时间。用户只能在从startTime到endTime的这段时间间隔内查看它们。 这就是它的工作原理:用户可以创建一个事件并将其发布到Firebase数据库(该事件包含startTime和endTime)。因此,如果当前时间与此间隔匹配,用户可以看到正在发生的当前事件;但是如果endTime到达,事件将从数据库中删除,用户将无法再访问它 问题是我对javascript一无所知,也不知道它如何在Firebase的iOS应用程序上工作。我

我正在实施一个基于事件的iOS应用程序。这些事件有开始时间和结束时间。用户只能在从startTime到endTime的这段时间间隔内查看它们。 这就是它的工作原理:用户可以创建一个事件并将其发布到Firebase数据库(该事件包含startTime和endTime)。因此,如果当前时间与此间隔匹配,用户可以看到正在发生的当前事件;但是如果endTime到达,事件将从数据库中删除,用户将无法再访问它

问题是我对javascript一无所知,也不知道它如何在Firebase的iOS应用程序上工作。我认为(通过我的研究)我需要一些东西来检查数据库中的旧事件,但我不知道如何实现它

此检查如何在Firebase的iOS应用程序上工作?
如果我不清楚,我很抱歉,我必须实现类似的功能。以下是使用Firebase实现此目标的详细说明

  • Firebase不提供服务器端逻辑,因此您不能依靠Firebase为您删除数据(在事件所有者终止应用程序、关闭手机等情况下)

  • 使用
    FirebaseServerValue.timestamp
    为事件提供标准时间值。这将是允许或拒绝用户查看事件的常量

  • 使用
    if/else
    语句仅在
    startTime
    endTime
    之间控制事件的可见性(也设置为时间戳)

  • 因为不能使用服务器端逻辑删除数据,所以必须使用客户端从Firebase中删除数据。使用#3中的
    if/else
    逻辑确定当前时间戳值是否超过
    endTime
    时间戳,如果为真,则从Firebase中删除该数据段


  • 希望这能有所帮助。

    我已经实现了类似的功能。以下是使用Firebase实现此目标的详细说明

  • Firebase不提供服务器端逻辑,因此您不能依靠Firebase为您删除数据(在事件所有者终止应用程序、关闭手机等情况下)

  • 使用
    FirebaseServerValue.timestamp
    为事件提供标准时间值。这将是允许或拒绝用户查看事件的常量

  • 使用
    if/else
    语句仅在
    startTime
    endTime
    之间控制事件的可见性(也设置为时间戳)

  • 因为不能使用服务器端逻辑删除数据,所以必须使用客户端从Firebase中删除数据。使用#3中的
    if/else
    逻辑确定当前时间戳值是否超过
    endTime
    时间戳,如果为真,则从Firebase中删除该数据段


  • 希望这能有所帮助。

    接受的答案是可以的,但您确实有一个“适当”的选项

    您可以使用Google App Engine编写一个后端,该后端会运行一个脚本,比如每X小时运行一次,以清除旧条目(注意时间戳中的TZ,确保所有内容都是一致的)。取决于您是否认为您将来会有其他处理需求,可能值得走这条路,否则您的能力会受到很大限制(所有这些都需要通过客户端应用程序,并且您可能会遇到安全性、可靠性和性能问题,这取决于您的用例)

    为此,您需要一个完整的谷歌应用程序引擎(谷歌云)帐户,并且可能需要更高的随用随付价格

    有关如何实现此目的的详细信息,请参见此处:

    从那里,您还可以看到他们为可视化您的客户端应用程序+firebase+应用程序引擎如何协同工作而制作的精美设计选项图

    您仍然应该实现事件的客户端过滤,因为旧事件的清除不会实时完成

    顺便说一句,谷歌刚刚上传了全新的教程(codelabs),取代了firebase的所有旧文档。所以我怀疑他们很快也会添加一个带有应用引擎集成的代码实验室(我还没找到)。同时,你可以看到我贴在上面的那个,它来自谷歌的官方云站点


    祝你好运。

    接受的答案是可以的,但你有一个“适当”的选择

    您可以使用Google App Engine编写一个后端,该后端会运行一个脚本,比如每X小时运行一次,以清除旧条目(注意时间戳中的TZ,确保所有内容都是一致的)。取决于您是否认为您将来会有其他处理需求,可能值得走这条路,否则您的能力会受到很大限制(所有这些都需要通过客户端应用程序,并且您可能会遇到安全性、可靠性和性能问题,这取决于您的用例)

    为此,您需要一个完整的谷歌应用程序引擎(谷歌云)帐户,并且可能需要更高的随用随付价格

    有关如何实现此目的的详细信息,请参见此处:

    从那里,您还可以看到他们为可视化您的客户端应用程序+firebase+应用程序引擎如何协同工作而制作的精美设计选项图

    您仍然应该实现事件的客户端过滤,因为旧事件的清除不会实时完成

    顺便说一句,谷歌刚刚上传了全新的教程(codelabs),取代了firebase的所有旧文档。所以我怀疑他们很快也会添加一个带有应用引擎集成的代码实验室(我还没找到)。同时,你可以看到我贴在上面的那个,它来自谷歌的官方云站点


    祝你好运。

    非常感谢你的快速回答!我试试看谢谢你的快速回答!我试试看嘿,克瑞斯!是的,我刚刚注意到Firebase在codelabs上的所有上传—可能是新Firebase 3.2.0的一部分。好的建议,更恰当。我已经想出了快速解决办法