我试图在Firestore中对一个字符串字段进行排序,但它包含数字。我可以指定排序方法或自定义它吗?
**编辑1:
我得到的命令是这样的:1 -〉10 -〉100 -〉101但我想:1 -〉2 -〉3 -〉4
vdgimpew1#
如果您需要字符串的行为类似于数字,则您使用了错误的数据类型。当您需要数字行为时,请使用数字。听起来您可能需要重写所有文档并更新代码才能正确键入数据。简而言之,不行,您不能按您的要求去做(不进行更改,或在客户机上重新排序文档)。
ttisahbt2#
我试图通过查询数值字段来订购Firestore Recycler中的物品,但应用程序崩溃了。所以我尝试:
Query query = placesRef.orderBy( String.valueOf("likesNum"), Query.Direction.DESCENDING).limit(5);
而且成功了。虽然编译器在说String.valueOF()没有必要,但我的问题已经完美地解决了。也许这对有同样问题的人有帮助。
String.valueOF()
ddrv8njm3#
查询=位置参考.排序依据(字符串.值Of(“类似编号”),查询.方向.降序).限制(5);这是因为当你使用字符串时,最多只能有10个条目,之后就不会再出现任何条目了,所以最好的方法是将字段存储为一个数字,这样你就可以安心了
3条答案
按热度按时间vdgimpew1#
如果您需要字符串的行为类似于数字,则您使用了错误的数据类型。当您需要数字行为时,请使用数字。听起来您可能需要重写所有文档并更新代码才能正确键入数据。
简而言之,不行,您不能按您的要求去做(不进行更改,或在客户机上重新排序文档)。
ttisahbt2#
我试图通过查询数值字段来订购Firestore Recycler中的物品,但应用程序崩溃了。所以我尝试:
而且成功了。虽然编译器在说
String.valueOF()
没有必要,但我的问题已经完美地解决了。也许这对有同样问题的人有帮助。
ddrv8njm3#
查询=位置参考.排序依据(字符串.值Of(“类似编号”),查询.方向.降序).限制(5);
这是因为当你使用字符串时,最多只能有10个条目,之后就不会再出现任何条目了,所以最好的方法是将字段存储为一个数字,这样你就可以安心了