Правила Firebase, чтобы установить чтение / запись для определенного свойства
Я храню данные о бездомных / аварийных убежищах в пожарной базе. Все данные должны быть прочитаны: true, и write: false, за исключением свойства OCCUPANCY, которое я хотел бы написать: true. Я пробовал несколько вещей, основанных на других сообщениях переполнения стека (включая: этот пост, использующий $ other), но не смог заставить его работать. Я надеялся, что следующий код будет работать, любые предложения будут с благодарностью.
{
"rules": {
".read": true,
"locations": {
"$location": {
OCCUPANCY": {
".read": true,
".write": true
},
$other": {
".read": true,
".write": false
}
}
}
}
}
Я запустил это в симуляторе Firebase, и он, кажется, работает как требуется, однако на веб-сайте это утешает Uncaught (in promise) Error: PERMISSION_DENIED: Permission denied
ПРОБЛЕМА: Код, отправляющий обновление в firebase, также обновлял два других параметра. Если часть обновления не дает права на запись, все это не удается.
РЕШЕНИЕ: обновите правила firebase, чтобы разрешить запись для этих параметров, удалите избыточные операторы чтения из вложенных параметров (как предложено ниже).
{
"rules": {
".read": true,
"locations": {
"$location": {
"OCCUPANCY": {
".write": true
},
"time": {
".write": true
},
"updated": {
".write": true
},
"$other": {
".write": false
}
}
}
}
}