Как отсортировать данные в Firestore по свойствам? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть база данных, полная автомобилей. Формат JSON такой:

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

docId - это ключ, сгенерированный функцией add.

Я запрашиваю базу данных так:

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

И я получаю все машины, которые доступны в Амстердаме, но я хочу получить что-то вроде этого:

Amsterdam
    docId
    docId
Utrecht
    docId
    docId

Каждый город с соответствующими автомобилями. Как решить эту проблему, не создавая запрос для каждого города?

1 Ответ

1 голос
/ 22 апреля 2019

Вы должны использовать 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
   ...

и вам придется преобразовать это в своем интерфейсе в точный формат, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...