Проверьте, существует ли число во всем файле JSON, используя Firebase - PullRequest
1 голос
/ 02 ноября 2019

Я импортировал CSV-файл в виде JSON-файла в свою базу данных firebase, база данных содержит список номеров автомобилей и другую не относящуюся к делу информацию. Я хочу проверить, существует ли номер автомобиля и существует ли он. , установите флаг в true.

База данных выглядит примерно так, число, которое я хочу проверить, является первым из них: JSON

В моемкод, я в значительной степени застрял на этом этапе функции:


    number = 4932564 //example number
    Boolean carExists = false;
    dbref = FirebaseDatabase.getInstance().getReference("rechev-6c");

    //here I want to scroll through all the childs and check of a the number exists

    }

Это потому, что я не знаю, какого ребенка выбрать, мне нужно как-то перебрать каждого ребенка, который есть в "rechev-6c"databse и затем проверьте, содержит ли какой-либо из его ключей номер транспортного средства, который я хочу, и если это так, установите флаг в значение true.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 02 ноября 2019

Это возможно с помощью запроса:

dbref = FirebaseDatabase.getInstance().getReference("rechev-6c");
String property = "MISPAR RECHEV|TAARICH||HAFAKAT TAG|SUG TAG"
Query query = dbref.orderByChild(property).equalTo("04932564")

query.addListenerForSingleValueEvent(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {
    for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
      System.out.println(snapshot.getKey()); // 99099, or similar
      System.out.println(snapshot.child(property).getValue(String.class)); 
    }
 }

  @Override
  public void onCancelled(DatabaseError databaseError) {
    throw databaseError.toException();
  }
}

Несколько замечаний:

  • Firebase может запрашивать значения только по фиксированному / известному пути, так что это работает толькоесли имя свойства ("MISPAR ...") может быть жестко запрограммировано, что, по-видимому, в вашем случае.
  • Firebase может соответствовать только тем строкам, которые начинаются с определенного значения, поэтому я добавил ведущий 0 к значению в equalTo. Нет возможности фильтровать строки, которые содержат определенное значение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...