Here's my Firebase Data Structure:
{
"companies": {
"-Ke_b8p6OBaz1VCeovAH": {
"display_name": "First User's Company",
"users": {
"ir7jjLPA3fXCVsdc4OzzSiH9RJd2": "admin"
}
},
"-Ke_cmhDaIeGJjFwsDI1": {
"display_name": "First User's Second Company",
"users": {
"ir7jjLPA3fXCVsdc4OzzSiH9RJd2": "admin"
}
},
"-Ke_b9OgwY2IBdj5szmJ": {
"display_name": "Second User's Company",
"users": {
"5XcpmN7DgEWNnmWZucyQiOh4TJt2": "admin"
}
}
},
"users": {
"ir7jjLPA3fXCVsdc4OzzSiH9RJd2": {
"display_name": "First User"
},
"5XcpmN7DgEWNnmWZucyQiOh4TJt2": {
"display_name": "Second User"
}
}
}
I'm trying to do a query on this data (via. REST for example):
example.firebase.com/companies.json?orderBy="users/ir7jjLPA3fXCVsdc4OzzSiH9RJd2"
My hope is to return
{
"-Ke_b8p6OBaz1VCeovAH": {
"display_name": "First User's Company",
"users": {
"ir7jjLPA3fXCVsdc4OzzSiH9RJd2": "admin"
}
},
"-Ke_cmhDaIeGJjFwsDI1": {
"display_name": "First User's Second Company",
"users": {
"ir7jjLPA3fXCVsdc4OzzSiH9RJd2": "admin"
}
}
}
Instead, I get
{
"error": "Index not defined, add \".indexOn\": \"users/ir7jjLPA3fXCVsdc4OzzSiH9RJd2\", for path \"/companies\", to the rules"
}
Here's my Firebase Security Rules
{
"rules": {
".read": true,
".write": true,
// Companies
"companies": {
".indexOn": ["display_name", "users"],
}
}
}
It's not feasible to update security rules indexing for every user, so how would I handle this?