Как обновлять значение каждый раз в течение 24 часов в Firebase Android - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть значение, которое установлено в «1» после завершения конкретной задачи, но я хочу, чтобы оно вернулось в «0» через 24 часа после периода, когда задача была завершена.

1 Ответ

0 голосов
/ 06 декабря 2018

Чтобы решить эту проблему, я рекомендую вам использовать Облачные функции для Firebase :

Облачные функции для Firebase позволяют автоматически запускать внутренний код в ответ на события, инициированные Firebase.особенности и запросы HTTPS.Ваш код хранится в облаке Google и работает в управляемой среде.

Как видите, вы можете просто взаимодействовать с базой данных Firebase в реальном времени.

Если вы хотите запланировать запуск облачной функции на 24 часа, я рекомендую вам посмотреть ответ Фрэнка ван Пуффеленаиз этой записи , где он объясняет, как вы можете это сделать.

Таким образом, вы можете выполнить запрос к базе данных, чтобы найти все объекты с отметкой времени между «сейчас» и 24 часа назад, и обновитьих.

В коде это должно выглядеть примерно так:

var now = Date.now();
var 24hoursago = now - ...;
var ref = firebase.database().ref("yourSpecificNode");
var query = ref.orderByChild("timestamp").startAt(24hoursago).end(now);
query.once("value").then(function(snapshot) {
  snapshot.forEach(function(user) {
    user.ref.update({ yourSpecificProperty: "0" });
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...