Как использовать функцию разделения в правилах базы данных в реальном времени firebase - PullRequest
0 голосов
/ 17 июня 2020

У меня есть строка идентификатора пользователя в базе данных типа «1WZeRpklGEgd5zjdHqaGC8Fq1vz2_1», объединенная с «_» и числом, и я хочу разделить ее, чтобы получить идентификатор пользователя в правилах базы данных, а затем сравнить его с auth.uid, например например:

...
  "Tasks":{
     "$task_id":{
        ".read": "$task_id.split('_') == auth.uid"
         ...
      }
   }

Любое предложение или другой способ выполнения sh это очень полезно для меня.

1 Ответ

0 голосов
/ 17 июня 2020

Насколько я могу судить из документации API , для строк нет ни функции split (), ни какой-либо другой функции, позволяющей извлекать данные из строк.

Я предлагаю использовать значение дочернего элемента для хранения UID, а не помещать его в имя ключа, и вместо этого использовать его в правиле. В документации показан пример, который выглядит следующим образом:

  "Tasks":{
     "$task_id":{
        ".read": "data.child('uid').value == auth.uid"
         ...
      }
   }

При этом, если у вас есть дочерний элемент с именем «uid» в месте чтения, вы можете использовать его в Правило проверки доступа.

...