因此,我有一個商店數據庫,每個商店的名稱前都有一個數字。它們是以隨機順序添加的,但我希望它們按從1到213的順序顯示。我的問題是當我使用orderbyvalue()
時,它顯示它們。firebase數據庫按價值排序工作錯誤
- 1商店
- 10商店
- 11商店
- 12存儲
- 13商店
- 14商店
- 15商店
- 16商店
- 17商店
- 18商店
- 19商店
- 2商店
- 20商店
- 21商店
- 22商店
等。我需要他們顯示1,2,3,4,5等,而不是1,10,11,12,13等。
我應該用什麼來解決這個問題?
因此,我有一個商店數據庫,每個商店的名稱前都有一個數字。它們是以隨機順序添加的,但我希望它們按從1到213的順序顯示。我的問題是當我使用orderbyvalue()
時,它顯示它們。firebase數據庫按價值排序工作錯誤
等。我需要他們顯示1,2,3,4,5等,而不是1,10,11,12,13等。
我應該用什麼來解決這個問題?
正如約翰所評論的那樣,您得到的順序是預期的:由於您正在存儲字符串,所以節點按照字典順序排列。
如果要以數字順序排序,則必須將值存儲爲數字或(以您的情況更可能)將值存儲爲格式,該格式按照字母順序排序和數字排序相同。例如。
或者
在這種情況下,字符串的填充/前綴很正常。其中一個主要缺點是,您必須確定在開始項目時需要多少個字符才能用於數字。
謝謝。沒有考慮添加零 –
前導零可能是一個臨時解決方案,但就用戶體驗而言,這是錯誤的。你必須實現一個排序功能。此外,如果您的系統必須處理超過999個商店,則不必爲此觸摸您的代碼。
您正在存儲爲字符串,因此您所看到的是正確的順序。你需要有數字字段並按順序排列。 –
你可以請你發佈你的java代碼。 – GGWP
這可以通過使用for語句輕鬆實現。 – GGWP