Удалить узел автоматически с помощью правила Firebase - PullRequest
0 голосов
/ 04 ноября 2019

Я использую FireBase для хранения данных некоторых пользователей. Так что теперь я хочу удалить старые данные с проверкой «last_ubdated» время <5 мин. пожалуйста, помогите создать правило Firebase для этого. ниже моя структура данных. <a href="https://i.stack.imgur.com/5xQgi.png" rel="nofollow noreferrer">enter image description here

Я создал правило, но оно не работает должным образом (код ниже)

{ "rules": {
".read": true,
".write": true,
  "$drivers":{
    ".indexOn": ["driverId"],
      ".write": "newData.exists() || data.child('last_updated').val() > (now)",

  } } }

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

Как сказал Дуг, правила безопасности не могут изменять данные. Они просто влияют на то, какие операции (чтение и запись) разрешены.

Альтернативой может быть использование запроса для запроса только тех узлов, срок действия которых не истек, а затем использование правил безопасности, чтобы гарантировать, что разрешен только этот запрос. Пример этого см. В моем ответе здесь: Как сделать данные нечитаемыми после того, как пройдет время, указанное на его отметке?

0 голосов
/ 04 ноября 2019

Правила безопасности Firebase не могут изменять какие-либо данные после их добавления. Они вступают в силу только тогда, когда данные читаются или записываются клиентом. Если вы хотите организовать удаление чего-либо по расписанию, вам понадобится другое решение.

См. Также: Облачные функции для запуска по Firebase вовремя?

...