Java 对Firestore文档进行排序
是否有任何可能的方式可以基于特定字段值的数字来订购集合的Cloud 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"); 欲了解更多信息,请参阅: 可能吗 是的!要按特定数字属性
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
变体的枚举。