我正在研究一個應用程序,該應用程序將使用用戶的位置並通過URL中的郵政編碼執行Web請求。這很快,通常需要1-3秒。我即將發佈該應用程序,但閱讀了使用條款,無法使用他們的服務與我的應用程序。自從我下載了一個77k的郵編電子表格,將其轉換爲JSON並將其上傳到Firebase。我目前在我的應用中查詢Firebase以搜索郵政編碼,但現在需要大約10-15秒。我的代碼如下:查詢Firebase的最有效方式iOS
- 「位置」
- 「1」
- ZIP:: 「12345」
- 如下
func firebaseSearch(zipCode: String) { let conditionRef = FIRDatabase.database().reference().child("locations") let query = conditionRef.queryOrderedByChild("zip").queryEqualToValue(zipCode) query.observeEventType(.Value, withBlock: { snapshot in for child in snapshot.children { print(child.value["state"]) } }) }
我的火力被構造狀態:「XX」
- 「2」
- ZIP: 「12345」
- 狀態: 「XX」
- 「1」
我試圖考慮我可如何構造的火力地堡是更有效率的,比如讓州成爲家長,並在裏面輸入孩子。我想上傳所有條目作爲郵政編碼;不過,我的電子表格有太多重複的代碼,並且我知道firebase不允許重複。有沒有更有效的方法來查詢Firebase?如果我從第一個郵政編碼開始輸入號碼(當前從1開始到77k),那麼我會從郵政編碼中查詢+/-值,然後過濾這些結果?我唯一的擔心是看到最後一個郵政編碼,這個郵政編號與實際郵政編碼相差約20k。我很欣賞任何提示/建議,謝謝!
感謝您的迴應!我將如何使用分頁?我認爲limitToLast只使用了最後的25個條目?雖然我是新的firebase,所以我不太確定。再次感謝! – JD2017
我建議你看看這篇文章的分頁(http://stackoverflow.com/questions/37144030/how-do-you-properly-order-data-from-firebase-chronologically),因爲它幫助了我,以及。 – waseefakhtar