Как удалить самый старый дочерний узел после ввода нового дочернего узла в Android - PullRequest
0 голосов
/ 19 сентября 2019

enter image description here

После добавления 10 детей я хочу удалить первого ребенка при каждом добавлении нового ребенка в базу данных.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2019

это может вам помочь

rootref.child("messeges").child(YourInnerChildKey).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
      int count = 0;
      String firstNodeId;
      for (DataSnapshot ds : dataSnapshot.getChildren()) {
        if (count == 0) firstNodeId = ds.getKey();
        count++;
      }

      if(count > 10){
         rootref.child("messeges").child(YourInnerChildKey).removeEventListener(this);
         firebase.child(firstNodeId).removeValue();
         rootref.child("messeges").child(YourInnerChildKey).addValueEventListener(this);
      }
}
0 голосов
/ 19 сентября 2019

Лучший способ сделать это - использовать облачные функции Firebase.Облачные функции похожи на триггеры, готовые для выполнения определенной задачи, например, когда элемент создан, добавлен, удален или обновлен и многое другое.

Подробнее об этом: https://firebase.google.com/docs/functions/get-started

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...