Я хочу удалить значение из Firebase Realtime Databse по значению, которое у меня нет ключа - PullRequest
0 голосов
/ 07 мая 2020

Я хочу удалить значение из базы данных firebase realtime по значению У меня нет его ключа

У меня есть база данных типа:

-root
  |
   --fittingHeight
     |
      --"timeStamp1":"1.1"
     |
      --"timeStamp2":"2.1" 

Я хочу удалить 1.1 в этой базе данных, но без ключа (timestamp1)

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Я хочу удалить 1.1 в этой базе данных, но без ключа (timestamp1)

Невозможно использовать запрос на основе поля свойства, которое является динамическим c. Это происходит потому, что для удаления значения вам необходимо знать его ключ.

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("fittingHeight").orderByChild("timeStamp1").equalTo("1.1");

В базе данных Firebase Realtime нет концепции подстановочных знаков. Поэтому всегда нужно указывать название свойства. Верно, что вы можете получить содержимое всего объекта fittingHeight и выполнить фильтрацию на клиенте, но это решение совершенно непрактично. Решением может быть изменение схемы базы данных, чтобы иметь фиксированные свойства таким образом, чтобы вышеуказанный запрос мог работать.

0 голосов
/ 07 мая 2020

Вам нужно запросить коллекцию, а затем упорядочить ее по ключу

 Query dbQuery = myRef.orderByKey();

Затем вам нужно будет добавить его слушателя и использовать для l oop результатов

dbQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        for(DataSnapshot dst : dataSnapshot.getChildren()){
            if(...)
                myRef.child(dst.getKey()).removeValue();
                    }
            }
       }

Это приведет к удалению всех значений в этом ключе, поэтому, если вы хотите удалить определенное c значение внутри этого ключа, добавьте другое для l oop в его результаты.

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