I have an iOS Swift project running with PHP back-end. The app gets user location (lng & lat), posts to API (back-end), and receives data back. The data is a list of locations nearby user's location.
Now, I move to Firebase. The data structure is like:
And the code I tried to get data from Firebase:
let radius: Double = 0.7
    
let lng_min = lng - radius/abs(cos(deg2rad(lat))*69)
let lng_max = lng + radius/abs(cos(deg2rad(lat))*69)
let lat_min = lat - (radius/69)
let lat_max = lat + (radius/69)
ref = FIRDatabase.database().reference()
ref.child("v1")
    .queryOrderedByChild("lng")
    .queryStartingAtValue(lng_min)
    .queryEndingAtValue(lng_max)
    .queryOrderedByChild("lat")
    .queryStartingAtValue(lat_min)
    .queryEndingAtValue(lat_max)
    .observeEventType(.Value, withBlock: { snapshot in
        print(snapshot.childrenCount)
    })
App crashed while run with error: Cannot use multiple queryOrderedBy calls!
How can I query on Firebase like SQL query below?
SELECT lat, lng FROM `table`
WHERE (lng BETWEEN lng_min AND lng_max) //~> lng_min <= lng <= lng_max
AND (lat BETWEEN lat_min AND lat_max)
