Я пытаюсь удалить чаты старше 24 часов.
Для этого сначала извлеките все ключи, переберите эти ключи и удалите вот так.
const rootRef = db.ref('chat');
rootRef.once('value', function (snapshot) {
snapshot.forEach(function (snap) {
const now = Date.now();
const CUT_OFF_TIME = 24 * 60 * 60 * 1000;
const cutoff = now - CUT_OFF_TIME;
const uid = snap.key;
const ref = db.ref('chat').child(uid);
const oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff);
const snapshot = oldItemsQuery.once('value').then(function (ds) {
const updates = {};
ds.forEach(child => {
updates[child.key] = null;
});
return ref.update(updates);
});
});
});
Но я не уверен, что это хороший подход.
У кого-нибудь есть идея получше?