After reading these questions:
Associate Geofire location with Firebase entry
Filtering results with Geofire + Firebase
I understand that for a given instance, the location data and regular data for that object must be kept separate, and therefore I must have different listeners. The first to find the location data, and then one for each of the objects that corresponds to those found by the location query.
However, my question is regarding listeners for the actual data itself, not the location data. For the purpose of an example, lets say I have an app that finds a list of 'Restaurant' objects near the user's current location. I understand that this must be done using GeoFire, but is it necessary to have a single event listener for each of the returned snapshots to retrieve the additional data?
To elaborate, what if I want to know when any of the other aspects of the restaurants change (rating, hours, seats available)? A single event value listener will not do this as it will not be listening for constant changes on these restaurants.
What would be the best way to go about this?