I\'ve got the following Google Firestore database structure:
Is there a way to query by a range of each - latitude and longitude? For example I want to get all user
Maybe a solution for this is to have a cloud function that adds a lat_range
and a lon_range
field to each document as it comes into Firebase? You'll need to have predefined ranges though - so you know what you can query.
This much should be possible
userRef.where('location.lat', '>=', 51.400).where('location.lat', '<=', 52.000);
Though I don't think you can chain more .where
on it if it's not on the same field.
You could try to do a similar query for location.lng
beneath it and then compare and match the users from both queries. Or check if the location.lng
is in the desired range in your code and filter out those users. In any case you'll end up getting more results from the database than preferred and then discarding some.