Firebase 谷歌可以存储订单字符串字段,比如数字

Firebase 谷歌可以存储订单字符串字段,比如数字,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我试图在Firestore中排序一个字段,它是一个字符串,但包含数字。我是否可以指定订购方式或定制订购方式 **编辑1: 我得到的命令如下: 1->10->100->101 但我想: 1->2->3->4如果您需要字符串的行为类似于数字,那么您使用了错误的数据类型。需要数字行为时使用数字。听起来您可能需要重写所有文档并更新代码以正确键入数据 简言之,不,你不能按你的要求做(不做更改,或在客户端上重新排序文档)。我试图通过查询数值字段在我的Firestore回收器中订购物品,但应用程序正在崩溃。

我试图在Firestore中排序一个字段,它是一个字符串,但包含数字。我是否可以指定订购方式或定制订购方式

**编辑1:

我得到的命令如下:

1->10->100->101

但我想:


1->2->3->4

如果您需要字符串的行为类似于数字,那么您使用了错误的数据类型。需要数字行为时使用数字。听起来您可能需要重写所有文档并更新代码以正确键入数据


简言之,不,你不能按你的要求做(不做更改,或在客户端上重新排序文档)。

我试图通过查询数值字段在我的Firestore回收器中订购物品,但应用程序正在崩溃。 所以我试着:

Query query = placesRef.orderBy( String.valueOf("likesNum"), Query.Direction.DESCENDING).limit(5);
它成功了。虽然编译器说
String.valueOF()
不是必需的,但我的问题已经完全解决了


可能这对解决同样问题的人也有帮助。

我认为Firestore不支持您试图实现的目标,但一个解决方法是获取顶级文档并在客户端订购,尽管这可能是一项昂贵的任务,具体取决于您拥有的记录数。