2016-10-10 3 views
0

현재 모바일 응용 프로그램의 백엔드 역할을해야하는 데이터베이스에 대한 평가 프로세스 중입니다. Firebase/GeoFire - 가장 인기있는 항목


는 지금은 중포 기지에서 찾고, 그리고 지금은 정말 많이 좋아한다.


IT는 특정 위치에

  1. 가장 인기있는 상품
  2. 를 가져올 수있는 가능성을 가지고 요구 사항입니다
  3. (아마도 미래 : 추가로에 대한 해당 항목의 속성이되는 특정 시간 범위)

데이터베이스에서.


자연스럽게 Firebase의 위치 기반 쿼리 가능성을 제공하는 GeoFire를 발견했습니다.

- 적어도 필자가 이해하는 한 거리와 다른 속성으로 결과를 정렬 할 수는 없습니다. (내가 틀렸다면 나를 수정하십시오.)

거리에 관심이 없다면 (중심에서 얼마나 멀리 떨어져 있든 상관없이 특정 반경에있는 항목 만 갖기를 원하지만) 인기 요인 (예 : 단순성을 위해 인기를 상징하는 단순한 숫자)? 중요

: 결과 세트가 잠재적으로 무한한 양으로 성장할 수
필터링/클라이언트 측에 정리하면, 옵션 (또는 적어도 하나 이상의 바람직한) 아니다.


첫 번째 버전의 응용 프로그램은 android 용이므로 Firebase Java 클라이언트 라이브러리가 첫 번째 단계에서 사용됩니다.


는이 문제를 해결하기 위해이 가능성 또는 작업에 적합한 후보 중포 기지 레이스 부족하지?

+0

Geofire의 서버 측 쿼리에 추가 조건을 추가 할 방법이 없습니다. 글쎄 ... 엄밀히 말하면, Geohashes의 마법을 확장하여 세 번째 숫자 (위도와 경도 이외에)를 믹스에 추가하는 방법을 찾을 수 있습니다.그러나 가능한 한 우리 대부분에게 실현 가능성은 의심 스럽습니다. –

+0

빨리 답변 해 주셔서 감사합니다. Thats 슬픈, 나는 Firebase를 백엔드로 사용하는 것을 정말로 좋아했을 것이지만,이 쿼리는 불행히도 중요합니다. 내가 다른 솔루션 (예 : 특별한 사용 사례에 대한 클라이언트 요청에 대한 응답을 보내기 전에 무거운 물건을 처리하는 중간 서버 사용)을 찾은 경우 확인할 수 있습니다. – JDC

답변

0

Geofire의 서버 측 쿼리에 추가 조건을 추가 할 방법이 없습니다.

Firebase 데이터베이스의 쿼리 모델은 단일 속성에서만 필터링을 허용합니다. Geofire는 이미 위도와 경도에서 필터링이 불가능한 것처럼 보입니다. 이것은 위도와 경도를 단일 문자열로 결합하는 마법 Geohashes을 통해이를 수행합니다.

엄밀히 말하면 Geohashes의 마법을 확장하여 세 번째 숫자를 믹스에 추가 할 수 있습니다. 그러나 가능한 한 우리 대부분에게 실현 가능성은 의심 스럽습니다.

관련 문제