不幸的是,Firebase没有开箱即用的老化机制(自动删除旧条目)。所以,我正在尝试实施一个。但是,我被困在两个决定之间:
我喜欢第一个解决方案,因为它不包括部署另一个服务器端应用程序,但我不知道它是否可能代表风险。
您认为最好的是什么? 如何确保第一个解决方案以避免任何可能的删除所有项目? 对于第二个解决方案,我不想从我的计算机上运行脚本,而且我不想为另一个服务器付费来部署脚本,可以将它部署在Firebase上?
答案 0 :(得分:3)
之前已经涵盖了从客户端删除过期的项目。参见:
要确保此操作安全,以便只能删除过期的项目,您可以使用Firebase Database security rules。类似的东西:
{
"rules": {
"messages": {
"$message": {
// only messages older than an hours can be remove
".write": "newData.exists() || data.child('timestamp').val() < (now - 3600000)",
}
}
}
}
现在可以使用Cloud Functions for Firebase在Firebase的服务器上运行您自己的代码。还有sample that shows how to delete older data with Cloud Functions。