Я разрабатываю приложение для Android, используя базу данных Firebase Realtime.Мой проект содержит 3 отдельные базы данных:
- База данных 1: для общих элементов;
- База данных 2: для функции A;
- База данных 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
Я очень ценю вашу помощь!