Правила Firebase отфильтровываются - поэтому если у вас есть правило для postid
, тогда оно дает доступ на запись ко всему дочернему объекту.
Однако существует два разных способа защиты контента.
Вариант 1. Укажите ожидаемый объект, я бы посоветовал изучить Проверка данных на болте.
Вариант 2. Указывает каждый из дочерних объектов с разрешениями на запись;
"posts": {
".read": "auth != null",
"$postid": {
"meta": {
".write": "auth != null"
},
"likes": {
".write": "auth != null"
},
"comments": {
".write": "auth != null"
},
"tag": {
".write": "auth != null"
},
"category": {
".write": "auth != null"
},
"status": {
".write": "auth != null"
},
"content": {
".write": "auth != null"
},
"createdTime": {
".write": "auth != null"
}
}
}
Вам нужно будет настроить способ записи в объект, и это создаст много дополнительных взаимодействий с базой данных.
Идеальным решением было бы перенести рейтинг на другой объект, например;
"ratings": {
".read": "auth != null",
"$postid": {
// New location of the rating
}
}