How to delete firebase data after "n" days
からこの仕事をしようとしてきたが、それは私のために働いていません。
は、ここで私は私の「A」の活動で
、やってんだよ、私は、タイムスタンプ値を保持している「timeStampに」子供と、このデータのチャンクを保存するためのボタンがあります。 (.setValue(ServerValue.TIMESTAMP);)
ボタンを押すと、データが正常に保存されます。次に、次のアクティビティを開始し、そこで待機します。
「30」日後に削除するのではなく、すぐに削除します。
私は正確にフランク
long cutoff = new Date().getTime() - TimeUnit.MILLISECONDS.convert(30, TimeUnit.DAYS);
Query oldBug = mDatabase.orderByChild("timeStamp").endAt(cutoff);
oldBug.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot itemSnapshot: snapshot.getChildren()) {
itemSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
によって答えのように動作します。しかし、それは、すぐにそれが掲載されているように、いくつかの時間後にそれを削除いないメソッドを持っています。
ありがとうございます。
編集:私はあなたが日付と時刻のクエリを実行するとき、あなたがそれに戻って参照できるようにタイムスタンプと日付を持つ新しい子アイテムを行うことを検討かもしれないと思う
投稿したコードを実行すると、予想どおりの動作をします。構造体とタイムスタンプ値を示すデータベースのスライスをエクスポートしてポストします。 –
@qbixありがとうございました、上記の質問にEDITのデータを入れました。 – SaltySea
リファレンス 'mDatabase'が正しく設定されていないと思われます。それを定義するコードを投稿してください。 –