Firestore порядок и ограничение не работает в kotlin - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть следующие настройки firestore:

-Root
 - Queue
   - item1
      - time : 20
   - item2
     - time : 1
   - 2000 more items, with a random time value

Я хочу показать 40 элементов, сначала с наименьшим временем, поэтому я делаю следующее в kotlin:

val ref = firestore.collection("Queue")
orderBy?.let{
  ref.orderBy(it)
}
limit?.let{
  ref.limit(it)
}
return ref.get().get().toObjects(Queue::class.java)

Это фактически полностью игнорирует мой приказ и ограничивает заявления. и возвращает все элементы коллекции Queue, что я делаю не так.

1 Ответ

0 голосов
/ 14 сентября 2018

Документация здесь:

https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/Query

говорит, что методы orderBy и limit возвращают новый объект запроса, поэтому, возможно, вам следует попробовать

val ref = firestore.collection("Queue").orderBy("time").limit(40)

AsВ соответствии с обновлением вашего вопроса, вы можете создать функцию, которая возвращает запрос, который вы хотите, основываясь на том, присутствуют или нет модификаторы запроса orderBy и limit.Вы должны сделать этот объект запроса переменным, чтобы сделать его изменчивым.

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