Я построил запрос firebase, как этот, для всех моих выпадающих счетчиков в приложении.
На самом деле у меня есть более 20 счетчиков в моем приложении для Android, чтобы искать пользователей из коллекции firebase firestore на основе любого выбранного выпадающего списка.В настоящее время я обработал все возможные сценарии с помощью условия if else и создал составной запрос на любом выбранном счетчике.но это не очень хороший подход, который я сейчас использую.Мне нужно добавить запрос рядом с любым запросом без обработки каких-либо проверок счетчика .. Вот мой код.
Query query;
CollectionReference collection =
firestore.collection(Constants.MEMBERS);
query = collection;
if (rangeBarRating.getRightIndex() != 0 && spinnerReligion.getSelectedItemPosition() != 0){
query = collection.whereEqualTo(Constants.RELIGION,spinnerReligion.getSelectedItem()).whereEqualTo(Constants.REGISTERATION_STATUS,rangeBarRating.getRightIndex());
} else if (spinnerCountry.getSelectedItemPosition() != 0){
query = collection.whereEqualTo(Constants.COUNTRY_LIVING_IN,spinnerCountry.getSelectedItem());
}else if (rangeBarRating.getRightIndex() != 0){
query = collection.whereEqualTo(Constants.REGISTERATION_STATUS,rangeBarRating.getRightIndex());
}else if ((rangeBarAge.getLeftIndex()+18) > 18){
query = collection.whereGreaterThanOrEqualTo(Constants.AGE,(rangeBarAge.getLeftIndex()+18));
}
Мне нужен динамический подход, как я использую только если оператор не, если еще.если выбран какой-либо счетчик, добавьте это значение в мой запрос и получите желаемый результат.