Запрос CollectionGroup в студии firestore android - PullRequest
0 голосов
/ 27 февраля 2020

Я не могу войти в течение l oop. это не показывает никакой ошибки. когда я пытаюсь отладить это не входит для l oop. после ввода в течение l oop только он может получить результат. Может ли кто-нибудь помочь?

Query query =fstore.collectionGroup("ride").whereEqualTo("from",from1).whereEqualTo("to",to1).whereEqualTo("date",date);
query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {

@Override
public void onSuccess(QuerySnapshot snapshots) {
      for (QueryDocumentSnapshot queryDocumentSnapshot:snapshots)
           {                 
              String source = queryDocumentSnapshot.getString("from");
              String destination = ueryDocumentSnapshot.getString("to");
              String date1 = queryDocumentSnapshot.getString("date");
              String time = queryDocumentSnapshot.getString("time");
              String vehicle = queryDocumentSnapshot.getString("vehicle number");
              String cost  = queryDocumentSnapshot.getString("Cost per person");
              String seats = queryDocumentSnapshot.getString("number of seats");
              String model = queryDocumentSnapshot.getString("car model");
              data += source+" "+destination+" "+date1+" "+time+" "+vehicle+" "+cost+" "+seats+" "+model+"\n";
           }
});

введите описание изображения здесь

1 Ответ

0 голосов
/ 28 февраля 2020

В справочнике вы можете найти следующее предложение:

Прежде чем использовать запрос группы сбора, вы должны создать индекс, который поддерживает ваш запрос группы сбора. Вы можете создать индекс с помощью сообщения об ошибке, консоли или интерфейса командной строки Firebase.

Из того же справочного примера кажется, что код выполнен правильно. Конечно, мы не знаем, что у вас есть в переменных from1, to1 и date. Из скриншота видно, что date имеет странный формат в вашей базе данных. Также я не уверен, как это будет работать с несколькими whereEqualTo методами.

Многие думают, что могут go ошибиться, но если бы я был на вашем месте, я бы начал с проверки индексов, и чем начните с построения запроса с одного whereEqualTo, пытающегося получить что-либо из базы данных, точно так же, как в справочном примере.

Если вам это удастся, вы можете расширить его до более сложных решений.

Я надеюсь это поможет!

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