Получить общее количество объектов и удалить самый старый объект в функции - База данных Firebase Realtime - PullRequest
0 голосов
/ 02 марта 2020

Я хочу хранить только 500 объектов в моей базе данных Firebase в реальном времени. Как мне написать это в моей функции firebase?

Вот мой код псевдо:

Get new object. (I can do this)
Insert it into database (I can do this)

Get total object count in data base
If total count is >=500
   Then delete oldest object

Спасибо

1 Ответ

0 голосов
/ 02 марта 2020

Я предполагаю, что вы используете Javascript клиент.

Я бы посоветовал изучить облачные функции с помощью триггеров базы данных - https://firebase.google.com/docs/functions/database-events

При вставке объектов вам понадобится как минимум отметка времени - (firebase.database.ServerValue.TIMESTAMP).

Вы можете использовать onCreate(), которая будет срабатывать при каждом добавлении нового объекта в вашу базу данных.

Это позволит вам.

  • Подсчитать, сколько объектов существует
  • Удалить самый старый объект в соответствии со значением свойства timestamp.

Облачная функция Firebase

exports.triggerOnCreate = functions.database.ref("/someObjects/{id}").onCreate((snapshot, context) => {
  console.log(snapshot, context);
  // Try your soultion here
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...