Javascript 如何按计划从Firebase数据库中删除数据

Javascript 如何按计划从Firebase数据库中删除数据,javascript,jquery,html,firebase,visual-studio-cordova,Javascript,Jquery,Html,Firebase,Visual Studio Cordova,我创建了一个简单的聊天室,比如ApacheCordova(HTML)应用程序,允许用户在聊天室中添加自己的带有自定义用户名的消息 消息在一段时间后累积起来,我必须每天进入实际的数据库删除它们,以避免混乱 我有没有办法创建一个规则或javascript函数来在每天的某个时间清除数据?例如,在上午9点,数据库将清除前一天和前一晚的所有内容,重新开始新的一天 感谢您的帮助。从外观上看,目前有两种类似的解决方案:|| 我不熟悉later.js,因此无法在这方面帮助您 使用gdoron的代码,我相信代码

我创建了一个简单的聊天室,比如ApacheCordova(HTML)应用程序,允许用户在聊天室中添加自己的带有自定义用户名的消息

消息在一段时间后累积起来,我必须每天进入实际的数据库删除它们,以避免混乱

我有没有办法创建一个规则或javascript函数来在每天的某个时间清除数据?例如,在上午9点,数据库将清除前一天和前一晚的所有内容,重新开始新的一天


感谢您的帮助。

从外观上看,目前有两种类似的解决方案:||

我不熟悉later.js,因此无法在这方面帮助您

使用gdoron的代码,我相信代码应该类似于:

function foo(){
    var day =new Date().getDay();
    var hours =new Date().getHours();

    if (day === 0 && hours >12 && hours < 13)  // day is a 0 index base
                                               // sunday between 12:00 and 13:00

//What you want to do goes here
var fredRef = new Firebase('yourDirectoryUrl')
fredRef.remove();

}

setInterval(foo, 3600000); // one hour check.
函数foo(){
var day=新日期().getDay();
var hours=新日期().getHours();
如果(day===0&&hours>12&&hours<13)//day是0索引基数
//周日12:00至13:00
//你想做的事情就在这里
var fredRef=new Firebase('yourDirectoryUrl')
fredRef.remove();
}
设置间隔(foo,3600000);//一小时的支票。
注:
  • 记住包括

    <script src='https://cdn.firebase.com/js/client/2.2.1/firebase.js'></script>
    
    
    

  • 另外,请记住,这将清除所有内容。
  • 如果您使用mongodb,这将有助于我感觉数据库清除应该从服务器端完成,而不是从客户端调用。正如上面的解决方案不会工作,如果用户是离线的?是的,它肯定是更好的服务器端完成。但是这个问题需要一个javascript函数作为解决方案。gdoron在第一个链接中提到“C#\Java\Ruby\PHP”可能会更好。感谢您的帮助!setInterval调用将每小时运行一次foo函数?@JonathanLin您知道在服务器端完成此操作的方法吗?是否有一个规则可以添加到我的firebase数据库中,以便执行与上述方法相同的函数?@DustinHux我实际上不知道它们传递给setInterval函数的是哪种调度,但据我所知,第二个参数是以毫秒为单位的间隔。(3600000毫秒为1小时)。另外,经过一些小的研究,我发现在服务器端搞乱firebase的唯一方法就是使用RESTAPI。不幸的是,我只熟悉firebase的javascript。