Правила Firebase для нескольких баз данных - PullRequest
0 голосов
/ 11 ноября 2018

Я разрабатываю приложение для Android, используя базу данных Firebase Realtime.Мой проект содержит 3 отдельные базы данных:

  1. База данных 1: для общих элементов;
  2. База данных 2: для функции A;
  3. База данных 3: для функции B;

В базе данных 1 я могу создавать правила (работающие для этой базы данных), используя ее узлы для проверки, может ли конкретный пользователь читать и записывать какие-либо данные, например:

{
  "rules": 
  {
    "plants":
    {
      ".read": true, /*"auth !== null",*/
      ".write": "auth !== null && root.child('userRegistration/' + auth.uid).child('profileTypeInfo').val()=='0'"
    },
    "criteria":
    {
      ".read": "auth !== null",
      ".write": "auth !== null && root.child('userRegistration/' + auth.uid).child('profileTypeInfo').val()=='0'"
    },
    "guide":
    {
      ".read": "auth !== null",
      ".write": "auth !== null && root.child('userRegistration/' + auth.uid).child('profileTypeInfo').val()=='0'"
    },
    "userRegistration":
    {
      ".read": true,
      ".write": true
    },
      "report" : 
      {
        ".read": "auth !== null && root.child('userRegistration/' + auth.uid).child('isActiveInfo').val()==true",
        ".write": "auth !== null && root.child('userRegistration/' + auth.uid).child('isActiveInfo').val()==true",
      }
  }
}

Для этой базы данных все в порядке, потому что я использую root.child текущей базы данных.Эта проблема связана с базами данных A и B, потому что я хотел бы использовать что-то вроде этого:

database1.child('userRegistration/' + auth.uid).child('profileTypeInfo').val()=='0'"

вместо использования

root.child('userRegistration/' + auth.uid).child('profileTypeInfo').val()=='0'"

Другими словами, мне нужно использоватьдочерние данные из базы данных 1 , несмотря на использование root child, в котором нет дочернего элемента userRegistration

Я очень ценю вашу помощь!

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