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

时间:2019-04-22 08:28:27

标签: java android firebase google-cloud-firestore

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

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

docId是由add函数生成的键。

我这样查询数据库:

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

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

Amsterdam
    docId
    docId
Utrecht
    docId
    docId

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

1 个答案:

答案 0 :(得分:1)

您应该使用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
   ...

由您决定将其在前端转换为所需的确切格式。