는 이메일과 같은 다른 자격 증명 외에 (십진수도 형식의 위도 & 경도) 등 내가 지금처럼 데이터베이스에 users
테이블에있는 모든 사용자의 계정 정보를 저장위치를 키로 사용하여 firebase 데이터베이스에 사용자를 저장해야합니까?</p> <p><a href="https://i.stack.imgur.com/wIXnE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wIXnE.png" alt="enter image description here"></a> :
각 사용자가 위치를 가지고 있다고 가정 문자열 "W9ulK6s이 ..."사용자의 uid
, 당신은 +
기호를 클릭하면,이 사용자에 대한 자세한 정보를 볼 것이다
사용자는 지리적으로 가까이에있는 다른 사용자를 볼 수 있으므로 각 사용자의 다른 복사본을 users_location
이라는 테이블에 저장해야한다고 생각합니다. 이렇게하면 모든 사용자를 거치지 않고도 위치를 기반으로 사용자를 필터링 할 수 있습니다 데이터베이스에있는 사용자.
그러나이 시점에서 뭘해야할지 모르겠다. firebase는 키가 .
인 것을 허용하지 않으므로, 위도 나 경도를 키로 사용할 수 없다. 예를 들어 나는 다음과 같이 할 수 없다. 이 : (-80.1234567, 40.1234566) 현재 사용자의 위치는 가정, 위도와 경도 그래서
users_location
40.1234567 // this path contains ".", which is not allowed
-80.1234567 // neither is this path
W9ulK6sUXnVq6VVOlSWhRoVjS6t2
email: "[email protected]"
photoURL: "https://stackoverflow.com"
... // Other credentials
, 무엇을해야 난 아직도 그 위치하여 사용자를 필터링 할 수 있도록 같은이 users_location
모양의 구조?
@Ramzi C.에 감사하지만 너무 느리지 않습니까? 1 백만 명의 사용자가 있다면 어떻게 될까요? 왜냐하면 나는 그것들 모두를 선택하고 그들의 위도 우선으로 정렬하기 때문입니다. –
파이어베이스는 '주문하기'가 실제로 매우 빠른 행동을합니다. 시스템 자체가 어떻게 처리되는지는 모르겠지만 일종의 인덱싱 마법이있을 것입니다. –