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

问题描述 投票:0回答:1

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

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

docId是由add函数生成的密钥。

我像这样查询数据库:

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

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

Amsterdam
    docId
    docId
Utrecht
    docId
    docId

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

java android firebase google-cloud-firestore
1个回答
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
   ...

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

© www.soinside.com 2019 - 2024. All rights reserved.