Mode lecture seule et non temps réel activé pour améliorer les performances du navigateur
Un message apparaît dans mon projet et je ne parviens pas à supprimer les nœuds
Aussi, j'ai lu ceci https://groups.google.com/forum/#!topic/firebase-talk/qLxZCI8i47s
Quels États :
Si vous avez beaucoup de nœuds dans votre Firebase (par exemple, des milliers), nous devons créer un nouvel élément pour chaque nœud et les navigateurs modernes ont simplement des limites quant au nombre d'éléments DOM que vous pouvez ajouter à une page
Ça dit:
Pour résoudre ce problème, ne chargez pas votre tableau de bord Firebase à la racine de votre Firebase, mais au contraire, chargez-le plus bas dans la hiérarchie.
Je ne comprends pas ce que cela signifie
Comment puis-je revenir à mon tableau de bord en temps réel?
Lorsqu'il détecte qu'il télécharge trop de nœuds de votre base de données, Firebase Console cesse d'utiliser le mode temps réel et passe en mode lecture seule. Dans ce mode, le navigateur nécessite moins de travail, il est donc plus probable que le navigateur reste performant.
Pour revenir au mode temps réel, vous devez vous rendre dans un emplacement comportant moins de nœuds. Donc, disons que vous commencez à charger la base de données à la racine, cela signifie que "pseudo barre d’adresses" en haut de l’arborescence de données dit:
https://<your-project>.firebaseio.com/
Et puis montrera la liste des éléments. Maintenant, cliquez sur l'URL dans cette barre de pseudo-adresse et remplacez-le par:
https://<your-project>.firebaseio.com/<one-of-your-keys>
Et frappé enter. L'arborescence de données ne se rechargera qu'avec le nœud de one-of-your-keys
et suivant et passera probablement à nouveau en mode temps réel.
Si vous souhaitez supprimer un nœud de haut niveau lorsque cela est activé, je vous recommande de le faire.
Ouvrez un éditeur de texte et tapez { }
. Enregistrez ce fichier sous "blankJSON.json".
Allez au nœud de haut niveau que vous souhaitez supprimer et sélectionnez-le. Une fois que celui-ci s'ouvre et vous montre tous les nœuds qui doivent être supprimés, sélectionnez les trois barres en haut à droite et sélectionnez "Importer JSON". "Exporter JSON" Si vous n'avez pas de sauvegarde, au cas où vous commettriez une erreur ici). Importez le fichier JSON que nous avons créé précédemment intitulé "blankJSON".
Cela supprimera toutes les données à l'intérieur.
Encore une fois, je vous suggère fortement de faire une sauvegarde avant de le faire. Il est extrêmement facile de faire une sauvegarde et il est également beaucoup plus facile que vous ne le pensez de télécharger ce blankJSON sur le mauvais nœud, puis d’effacer un tas de données importantes.
Dans Firebase, chaque clé de noeud est un lien. Vous pouvez ouvrir un sous-nœud dans un nouvel onglet, puis éditer ce sous-nœud et ses enfants.
Cliquez avec le bouton droit sur un sous-noeud que vous souhaitez modifier ou supprimer.
Sélectionnez le lien ouvert dans un nouvel onglet
Editez le sous-noeud dans le nouvel onglet
Ce que vous pouvez faire est d’avoir une OnClickListener
et d’appeler la méthode remove value à votre DatabaseReference, comme ceci:
mCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mDatabaseReference.removeValue();
}
});
J'ai le même problème ... Je suis un peu surpris, car Firebase pouvait facilement évoluer pour prendre en charge une énorme quantité de données (par exemple, des millions d'utilisateurs, etc.).
J'ai un nœud avec 80000 sous-nœuds (chaque objet a son propre Push-id) et je ne peux ni supprimer ni effectuer aucune action dessus, car le temps réel ne fonctionne pas dans la console Firebase.
Je pense que le seul moyen de mettre à jour ou de supprimer les données, c'est de le faire via du code Java :(
Il peut être fastidieux d'essayer plusieurs fois de charger des clés spécifiques. Il existe une bibliothèque python qui pourrait le faire facilement pour vous.
http://ozgur.github.io/python-firebase/
J'avais besoin de supprimer beaucoup de clés et cela m'a aidé à le faire en une fois.