Nous sommes en train de construire une plateforme utilisant la base de données en temps réel Firebase et j'ai du mal à trouver le meilleur moyen de structurer nos données pour un accès privé et public.Comment structurer les données avec Firebase pour permettre aux données d'être spécifiques à l'utilisateur et aussi publiques?
Aujourd'hui, nous avons
database: {
items: {
$userUid: {
$itemUid: {
poster_link: "..."
format: "..."
title: "..."
}
}
}
}
Tous nos articles sont stockés sous chaque utilisateur afin de le rendre rapide et sécurisé à charger.
Nos règles sont définies comme ça
{
"rules": {
"items": {
"$userId": {
"$itemId": {
".read": "auth !== null,
".write": "auth !== null"
}
}
}
}
}
Ainsi, seul un utilisateur autorisé peut lire et écrire les données. Je pourrais créer quelque chose comme ceci pour permettre les articles à être publique si la valeur est vraie:
".read": "auth !== null || data.child('public').val() == true"
Mais ce sera encore moins de $ userUid
Je me demandais si vous avez des suggestions sur la façon de structurer Cet exemple permet à des éléments d'être sous un utilisateur et aussi vu publiquement, pas nécessaire sous cet utilisateur, un peu comme Dropbox quand vous partagez quelque chose.
La solution la plus simple consiste à séparer les données publiques et privées. Voir ma réponse ici sur le pourquoi et le comment: https://stackoverflow.com/questions/38648669/firebase-how-to-structure-public-private-user-data –