Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对Firestore文档进行排序_Java_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Java 对Firestore文档进行排序

Java 对Firestore文档进行排序,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,是否有任何可能的方式可以基于特定字段值的数字来订购集合的Cloud Firestore文档。例如,在集合ids中有文档,每个文档中都有一个名为idNumber的字段。该idNumber的值为0,然后在下一个文档中为1,然后为2等。是否可能 提前谢谢 您可以对集合的字段进行如下排序: CollectionReference idsRef = db.collection("ids"); idsRef.orderBy("idNumber"); 欲了解更多信息,请参阅: 可能吗 是的!要按特定数字属性

是否有任何可能的方式可以基于特定字段值的数字来订购集合的Cloud Firestore文档。例如,在集合
ids
中有文档,每个文档中都有一个名为
idNumber
的字段。该idNumber的值为0,然后在下一个文档中为1,然后为2等。是否可能


提前谢谢

您可以对集合的字段进行如下排序:

CollectionReference idsRef = db.collection("ids");
idsRef.orderBy("idNumber");
欲了解更多信息,请参阅:

可能吗

是的!要按特定数字属性对集合中的文档进行排序,请使用以下查询:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference idsRef = rootRef.collection("ids");
Query query = idsRef.orderBy("idNumber", Query.Direction.ASCENDING);
此查询将根据
idNumber
属性对文档进行排序。如果您想要相反的顺序,只需将方向更改为降序。就这样

编辑:

根据查询方法的官方文件:

创建并返回按指定字段另外排序的新查询

根据查询的方法:

创建并返回按指定字段额外排序的新查询,可以选择按降序而不是升序排序


但我希望文档能够被排序,并且基于数字,而不是在创建文档时。例如,带有0的idNumber应该是第一个,然后是1,然后是2,然后是3…那么,默认情况下,它是按升序或降序数字排序的?这是否意味着如果我输入字符串值,它会按字母顺序排序?谢谢,按升序排列,但请看我的最新答案。对于字符串,是的,它将按字母顺序排列。
如果节点上有其他人在这里,并且试图找出如何静态导入
查询。方向
用于排序方向,不必麻烦-orderBy的
过载,允许您只提供
'desc'
'asc'
字符串作为第二个参数。@bsplosion如果您提供'desc'或'asc'字符串作为第二个参数,无法按预期方式工作?在节点上,它的行为与预期完全相同:
'desc'
按降序排序,
'asc'
按升序排序。我试图清楚地警告说,这只适用于Node(遗憾的是,不一定是Java)。在节点上,这些字符串只是它们的
Query.Direction
变体的枚举。