J'ai la structure de données suivante dans la base de données en temps réel Firebase.Comment puis-je définir ".indexOn" pour toutes les clés enfants dans Firebase?
{
groups: {
$groupid: {
$userid: Boolean
}
}
}
Ici #groupid
et $userid
varient.
Lorsqu'un utilisateur id « user0 » est dans le groupe « group0 », il sera
{
groups: {
...
group0: {
user0: true
}
...
}
}
Lorsque l'utilisateur est supprimé, il sera user0: false
. Quand j'Interrogation de groupes avec un utilisateur spécifique, Firebase SDK
affiche un avertissement: FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn": "user0" at /groups to your security rules for better performance
Comme l'ID utilisateur varie, je pense que tous les codes d'utilisateur doivent être indexées sur.
Comment puis-je écrire une règle de sécurité pertinente?
Il n'existe aucun moyen de définir un index générique. Vouloir le faire signifie généralement que vous avez inversé votre structure de données. Le vôtre ressemble au problème de catégorisation que j'ai répondu ici: http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –