Je travaille actuellement sur une application qui utilise strictement Firebase pour le backend. Dans mon application, je veux supprimer le premier message qui a été écrit après 30 messages. En d'autres termes, je veux autoriser seulement 30 messages à stocker. Dans ma base de données Firebase, j'ai un noeud appelé "users", puis un noeud pour les ID utilisateur, puis sous l'un des ID utilisateur, j'ai un autre noeud appelé items. Cependant, je veux supprimer le premier enfant sous le noeud items, mais je ne connais pas le nom de cet enfant puisque j'utilise la méthode .push() pour définir la clé pour cela. Est-ce que quelqu'un sait comment supprimer seulement ce premier enfant?Suppression du premier enfant à l'aide d'une touche push() dans Firebase
Je sais comment supprimer un enfant dans Firebase, je ne sais pas comment accéder à un enfant. J'ai essayé quelque chose le long de:
DatabaseReference firstMessage = mDatabase.child("users").child(mUserId).child("items").getRef();
Ensuite, faites cela pour supprimer l'enfant.
firstMessage.removeValue();
Je sais juste après la .child (« éléments ») qu'il devrait y avoir un autre enfant, mais comment puis-je obtenir cette clé?
Edit: Je suis venu avec une solution, mais au lieu de supprimer le premier enfant dans le nœud éléments, il supprime le premier enfant dans le nœud utilisateurs
DatabaseReference firstMessage = mDatabase.child("users").child(mUserId).child("items").orderByPriority().limitToFirst(1).getRef();
La solution la plus simple va certainement utiliser des fonctions Cloud pour Firebase écrire un déclencheur de base de données qui décide, chaque élément est ajouté, si elle doit être la suppression d'éléments anciens en réponse. –