База данных Firebase может запрашивать свойства только по известному пути под каждым дочерним узлом того места, где вы выполняете запрос. Он не может обрабатывать динамические пути, как вы пытаетесь сделать здесь.
Более подробное объяснение этого см. В моем ответе здесь: Запрос Firebase Double Nested . Это также кажется уместным: Запрос Firebase, если child of child содержит значение .
Решение состоит в том, чтобы денормализовать ваши данные и снять рекламные акции с мест. Если у вас есть один список рекламных акций, вы можете получить всех, у кого есть бесплатный биг-мак:
mDatabase = FirebaseDatabase.getInstance().getReference("Promotions");
Query query = mDatabase.orderByChild("coupon").equalTo("FREEBIGMAC");
query.addListenerForSingleValueEvent(new ValueEventListener() {
Теперь, если вы добавите Place
к каждой акции, вы сможете показать все места, в которых есть бесплатные большие маки.