2016-07-23 47 views
2

我在相同的位置有很多條目。我只想使用Geofire獲得10個最新添加的項目。我知道使用Query.limitToLast()可以輕鬆地使用firebase完成它,但我不知道如何使用Geofire來完成。限制從GeoFire查詢的項目數

如果這是不可能的,你有任何解決方法,我可以申請嗎?

+0

貌似沒有這樣的方法,通過在GeoFire項目的數量限制,只有有以半徑表示。如果您想獲取最新添加的項目,則可以使用FirebaseQuery在「項目」節點中執行此操作,而不是在「geofire」節點中執行此操作,具體取決於具體情況。 – Wilik

回答

1

無法限制來自Geofire的按鍵數量:它將返回所有您查詢範圍內的按鍵。

我能想到的唯一的事情就是不要插入物品,如果其附近已經有其他物品。在這種情況下,您在寫入數據庫時​​基本上是對項目進行羣集。

+0

問題是項目是消息,即使它們在同一個地方,它們也需要全部插入......我不在乎的是舊消息(我不認爲我的用戶會對超過50箇舊信息)...我發現用GeoFire無法做到這一點,我試圖找到解決辦法或解決方法。不幸的是,我沒有成功。你有其他建議嗎? – user655561

+0

解決方法:我的意思是涉及除geofire之外的其他內容,例如將另一個表保存到firebase並使用它來限制geofire查詢有可能嗎? – user655561

+0

看起來,返回的值是根據創建時間排序的。如果可以反轉該順序,那麼當項目數等於50時,我將移除監聽器。是否有方法可以顛倒創建的順序? – user655561

1

有這個只有一個辦法:每次到達onGeoQueryReady(時間)(「所有數據已加載」),可以增加

你應該開始查詢半徑小,

和通過與.setRadius(R)的geoquery直到少量半徑達到極限你想

在此基礎上https://github.com/firebase/geofire-js/issues/59