У меня есть база данных, где структура данных выглядит следующим образом:
{
"users": {
"123456": {
"Name": "ABC"
"uid": "123456"
}
}
"Orders":{
"987654": {
"Customer ID": "123456"
"Other Details": *****
}
}
}
Где пользователи - это список пользователей в моей базе данных. А Заказы - это заказы, размещаемые каждым из пользователей. Показанный идентификатор пользователя и идентификатор заказа являются фиктивными. Они генерируются ключом pu sh. Теперь заказы могут быть прочитаны пользователем, если «Идентификатор клиента» совпадает с идентификатором пользователя. Для которого у меня есть следующее правило Firebase:
"Orders":{
".indexOn": ["Customer ID"],
"$Orders_id": {
".write": "((root.child('Orders/'+$Orders_id+'/Customer ID').val() === auth.uid && auth != null) ||(auth != null && !data.exists())",
".read": "root.child('Orders/'+$Orders_id+'/Customer ID').val() === auth.uid && auth != null "
}
}
Однако я получаю сообщение «Отказано в доступе». Первая запись данных была безупречна. Может кто-нибудь, пожалуйста, руководство.