Как отсортировать документы Firebase по размеру списка в Flutter? - PullRequest
0 голосов
/ 14 апреля 2020

Может ли кто-нибудь объяснить мне, как я могу упорядочить документы в Firebase по размеру списка?

У меня есть этот список 're c' по нескольким элементам, но я могу только отсортировать его следующим образом:

body: FutureBuilder<QuerySnapshot>(
              future: Firestore.instance
                  .collection("products")
                  .document(snapshot.documentID)
                  .collection("items")
                  .orderBy("rec")
                  .getDocuments(),

https://i.stack.imgur.com/3yV9D.png

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Firestore не предоставляет нам метаданные, поэтому, чтобы получить размер документа, хранящегося в коллекции, вы можете выполнить одно из следующих действий:

  • Как указал Хенок, используйте поле для хранения текущего размера документа и использования его для сортировки данных на внутренней стороне.
  • Загрузите несортированные документы и отсортируйте их на клиенте в соответствии с их размером.

Пожалуйста, ознакомьтесь с подобной темой , которая может оказаться полезной в обоих случаях.

0 голосов
/ 14 апреля 2020

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

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