Firebase Database Order By Value Working Wrong
Solution 1:
The leading zeros may be a temporary solution but in regard of users experience this is wrong. You have to implement a sorting function. Moreover, if your system will have to deal with more than 999 stores, you won't have to touch your code for this.
Solution 2:
As John commented, the order you get is expected: since you're storing strings, the nodes are ordered lexicographically.
If you want to order numerically, you either have to store the values as number or (in your case more likely) store the value in a format that orders the same lexicographically as numerically. E.g.
- 01 Store
- 02 Store
- 10 Store
- 11 Store
- 19 Store
- 20 Store
- 21 Store
- 22 Store
Or
- 001 Store
- 002 Store
- 010 Store
- 011 Store
- 019 Store
- 020 Store
- 021 Store
- 022 Store
This padding/prefixing of strings is quite normal in situations like this. One of the main disadvantages is that you'll have to determine how many characters to use for the numbers when you start your project.
Post a Comment for "Firebase Database Order By Value Working Wrong"