java - 如何根据属性对 Firestore 中的数据进行排序?

标签 java android firebase google-cloud-firestore

我有一个充满汽车的数据库。 JSON 格式是这样的:

docId: {
        "city": "Amsterdam"
        ... other properties
   }

docId 是由 add 函数生成的 key 。

我像这样查询数据库:

db.collection("EU-CARS").whereEqualTo("city", "Amsterdam");

我得到了阿姆斯特丹所有可用的汽车,但我想要得到这样的东西:

Amsterdam
    docId
    docId
Utrecht
    docId
    docId

每个城市都有相应的汽车。如何在不为每个城市创建查询的情况下解决这个问题?

最佳答案

您应该使用orderBy(),请参阅https://firebase.google.com/docs/firestore/query-data/order-limit-datahttps://firebase.google.com/docs/reference/android/com/google/firebase/firestore/Query.html#orderBy(java.lang.String)

所以你会这样做:

db.collection("EU-CARS").orderBy("city")

您将得到以下内容

docId1
   city: Amsterdam
   ...
docId2
   city: Amsterdam
   ...
docId3
   city: Utrecht
   ...
docId4
   city: Utrecht
   ...

您可以在前端将其转换为您正在寻找的确切格式。

关于java - 如何根据属性对 Firestore 中的数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55791406/

相关文章:

android - "Can' t 在 child() 中为参数 'pathString' 传递空值”以及其他 Proguard 和 Firebase 问题

objective-c - Firebase 上的 NSData

android - Flutter:如何在整个应用程序中设置观察者

java - 没有 NIO 的全双工 TCP 连接不可能吗?

java - 从 Yahoo、Gmail 和 Hotmail 下载已发送的邮件

java - 在java中自动更正输入的字符串值

android - 是否可以在我自己的应用程序中使用私有(private)三星框架?

java - 在 Java 中设置多个语句的执行时间

java - 多个字符串到 Arraylist

javascript - 如何检测用户是否拥有来自网站的移动应用程序并打开该应用程序