Правила 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
                    }
                }
           }
        }
    }

0 ответов

Другие вопросы по тегам