我有一个充满汽车的数据库。 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-data和 https://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/