Вот моя база данных:
{
"lists": {
"list1_id_1": {
"field1": "some value",
"field2": "some value"
}
}
}
Я хочу разрешить любому пользователю создавать новые списки, но не изменять существующие, поэтому я попробовал следующие правила:
{
"rules": {
"lists": {
".read": "true",
".write": "!data.exists()"
}
}
}
Это не сработало, когда я попытался записать следующие данные в /lists/
:
{ "field1": "qq", "field2": "ww" }
По-видимому, правило ".write" не удалось записать, потому что /lists/ уже существует.
Итак, я попробовал следующие правила:
{
"rules": {
"lists": {
".read": "true",
"$list_id": {
".write": "!data.exists()"
}
}
}
}
Это тоже не сработало, симулятор Firebase не выбрал правило, которое не удалось выполнить операцию записи, поэтому я думаю, это потому, что «.write» отсутствует в «списках».
Не могли бы вы помочь мне здесь? Я думаю, что моя проблема связана как с правилами, так и с тем, как я пытался добавить новый элемент в /lists/ в симуляторе.
P.S. Я знаю, что list_id будет сгенерирован Firebase, когда я попытаюсь передать новые данные, но я не уверен, как использовать это знание для симулятора.
Спасибо! Славик