【发布时间】:2017-11-29 15:10:07
【问题描述】:
我正在开发一个调查应用程序,我正在保存数据,例如 -
第一节-
詹姆斯-“YYNN”
JIM-"YN"
第2节-
杰米-“NN”
肖恩-“YY”
我想在 30 天后删除这些值,因为我没有时间戳 那么如何在firebase中自动删除这些数据。
【问题讨论】:
我正在开发一个调查应用程序,我正在保存数据,例如 -
第一节-
詹姆斯-“YYNN”
JIM-"YN"
第2节-
杰米-“NN”
肖恩-“YY”
我想在 30 天后删除这些值,因为我没有时间戳 那么如何在firebase中自动删除这些数据。
【问题讨论】:
您可以通过两种方式实现这一目标。 Onw 方法是在客户端添加一个计时器。如果您在客户端编写此功能,如果用户断开互联网与手机的连接,它可能无法及时删除。但是如果你想采用这种方法,这里是代码:
final DatabaseReference objectToDeleteRef = ...;
objectToDeleteRef.addListenerForSingleValueEvent(new ValueEventListener() {
void onDataChanged(DataSnapshot snapshot) {
new android.os.Handler().postDelayed(
new Runnable() {
public void run() {
objectToDeleteRef.removeVaue();
}
},
30*24*60*60*1000);
}
第二种方法是在 Cloud Functions for Firebase 中编写一个函数,在 30 天后删除记录。然后只需编写一个 Firebase 删除事件触发器来调用该函数。
【讨论】: