Это грубый пример того, как выглядит моя база данных.
"userA": {
"uf": {
"userB": "0"
}
},
"users": {
"userA": "0",
"userB": "0",
"userC": "0"
}
И это грубый пример правила, которое я пытаюсь написать.
//USER ID
"$uid": {
//USER FRIENDS
"uf": {
//FRIEND USER ID
"$fuid": {
".write": "$uid === auth.uid &&
root.child('users').hasChild($fuid)",
}
},
},
И это это то, что я пытаюсь заставить работать в симуляторе
//Location /userA/uf/
//Data { "userC": "0" }
Кажется, что правило безопасности всегда будет запрещать запись, когда «ключ» для пары «ключ-значение» является моей переменной, этот случай "$ fuid". Симулятор вернет сообщения «Имитированный набор запрещен» и «Запрет на запись», но не предоставит мне никаких дополнительных подробностей. Я мог бы обойти это, написав следующее:
//Simulation Method set
//Location /userA/uf/userC/
//Data { "0": "0" }
Но похоже, что он записывает ненужные данные в мою базу данных. Какова лучшая практика здесь? Спасибо.