JavaScript-Firebase - лучший способ удалить ребенка старше 24 часов - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь удалить чаты старше 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);
       });
     });
   });

Но я не уверен, что это хороший подход.
У кого-нибудь есть идея получше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...