Я пытаюсь использовать правила, но это не работает.
Вот структура:
У меня есть эта команда: DeleteItemFromListRef.child("List").child(obj.getsEventID()).child(ID).child("check").setValue(false);
Но я хочу установить значение «false» только в том случае, если дочерний элемент (ключ) существует, так что если элемент будет удален, у меня не будет просто этого:
Вот мои правила:
"List": {
"$listID" : {
"$key": {
"check" : {
".write":"data.child('List').child($listID).child($key).child('key').exists()"
}
}
}
}
Но, тем не менее, если дочерний ключ пуст, он все равно загружает данные следующим образом:
если кто-нибудь может помочь, было бы неплохо
РЕДАКТИРОВАТЬ 2: здесь гораздо более простые правила
"rules": {
"List": {
"$listID" : {
"$key": {
"check" : {
".read":"auth.uid != null",
".write":"auth.uid != null",
".validate":"data.parent().child('key').exists()"
}
}}}}}
+ КОММЕНТАРИИ:
Поэтому я всегда обновляю элемент картой, если добавляю новый, но если я изменяю только дочерний элемент "check" Я использую "setValue" метод и хочу setValue должно быть сделано, только если элемент уже существует (== child key already exist)