У меня есть требование, чтобы пользователи могли писать только в свой узел учетной записи в базе данных RT. Обычно это работает:
"accounts": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
},
Однако требуется, чтобы uid из Authentication хранился внутри «учетных записей» с префиксом «US _».
Итак, я пробовал это:
"accounts": {
"$uid": {
".write": $uid.matches(/^US_/) + "auth.uid",
".read": "$uid === auth.uid"
},
и это:
"accounts": {
"$uid": {
".write": "$uid === /^US_/auth.uid",
".read": "$uid === auth.uid"
},
Второй кажется ближе к работе, и ошибка:
Ошибка сохранения правил - Строка 44: недопустимый флаг после регулярного выражения
Мне интересно, возможно ли это вообще?
UPDATE
Это правильно проанализировано, но, похоже, работают (я не могу заставить правило пройти):
"accounts": {
"$uid": {
".write": "$uid === 'US_' + 'auth.uid'",
".read": "$uid === auth.uid"
},
},
Структура базы данных
accounts:
uid: "US_blah",
createdAt: <datetime>,
username: "MickeyMouse"