2014-09-20 28 views
0

我想用查詢查詢我的數據,該查詢將返回一個半徑(geofire可以找到的所有內容),但也在日期時間窗口內。我可以在單個查詢中使用Firebase的優先級GeoFire嗎?

此刻,我將日期時間作爲優先級存儲,因此查詢數組需要2個優先級數字(對應於開始/結束日期時間)的數據非常容易。

將我的數據放入GeoFire陣列,然後查詢它以獲取半徑也很容易。

我可以結合那兩個嗎?以一種簡單而不是太難以理解的方式?

乾杯

+0

每個節點都有一個.priority。如果您可以找到將datetime和geohashes組合成單個.priority的方法,則可以查詢其組合。但在你的用例中,你可以將兩者結合起來看起來不太可能。 – 2014-09-20 10:52:14

回答

1

不適用於單個查詢。您必須過濾客戶端,或者在多個階段進行查詢。

這是因爲:

解決這個問題的最簡單方法是做額外的過濾客戶端。如果帶寬影響開始引發問題,請將數據分區(例如按月分組),並分多個階段進行。

+0

嘿珍妮謝謝你的回答。我看到startWith將名字和優先級都作爲參數。這是否意味着我可以使用這些作爲主要和次要索引,從而基於它們進行查詢?例如,用他們的時間戳命名他們,並用他們的geohash優先考慮他們 - >然後使用startWith(sometimestamp,somegeohash)等 – STE 2014-10-01 00:28:34

+1

是的,我想你可以。唯一的警告可能是優先權不保證是唯一的。 – mimming 2014-10-01 02:50:11

+0

謝謝:)如果您想將其添加到您的答案,我可以接受它作爲我的問題的答案 – STE 2014-10-10 23:58:44

相關問題