Вы не можете сделать это с базой данных Firebase Realtime без значительных изменений в вашей схеме.База данных реального времени не имеет возможности выполнять фильтрацию по нескольким условиям (некоторые люди говорят «несколько предложений где» в терминах SQL).Если вы хотите проверить совпадения по нескольким вещам, вам нужно создать составное поле, содержащее комбинацию искомых вещей.Например, вам понадобится строковое значение, у которого пол и все качества объединены в предсказуемой манере, а затем клиенты найдут эту строку.
Firestore позволяет вам выполнять фильтрацию по нескольким условиям, но вы все равно можетене искать наборы объектов.Вам все еще понадобится специальное поле, объединяющее все качества вместе.