У меня проблемы с использованием newData в правилах безопасности Firebase при выполнении операции обновления.
Вот моя структура данных:
А вот мои правила:
{
"rules": {
"videos": {
"$videoId": {
"data": {
"content": {
"srcURL": {
".write": "root.child('videos/' + $videoId + '/tokens/' + newData.child('/videos/-1vidid/requestToken').val() + '/read' ).exists()"
},
},
"meta": {
"status": {
".write": "root.child('videos/' + $videoId + '/tokens/testTok/read').exists()"
}
}
},
"requestToken": {
".write": true,
}
}
}
}
}
Вот данные, которые я пытаюсь записать с помощью обновления:
{
"videos/-1vidid/data/meta/status": "uploaded",
"videos/-1vidid/data/content/srcURL": "https",
"videos/-1vidid/requestToken": "testTok"
}
А вот мои правила не выполняются, когда я пытаюсь использовать newData;
Обратите внимание, что он работает, когда я жестко кодирую токен ("testTok"), но когда я пытаюсь использовать новые данные, он не очищается.
Вот еще несколько попыток избавиться от "videos" и $ videoId ("-1vidid) от дочерних элементов newData:
Есть идеи, почему newData не работает над обновлениями?