Как заказать данные из Firestore во флаттере, порядок по порядку не правильный - PullRequest
0 голосов
/ 29 сентября 2019

Я создаю приложение, в котором пользователи могут писать в мою базу данных и задавать вопросы другим пользователям, например, приложение доктора.Где доктора могут ответить на вопросы.

Я хочу упорядочить вопросы по дате, где я хотел бы упорядочить вопросы по самым новым, а также по самым популярным.

Я пытаюсь заказатьновейшие из следующих:

дата: "29 сентября 2019"

Firestore.instance
        .collection("Questions")
        .orderBy("date", descending: true) // 1 will be last, 31 will be latest
        .snapshots(),

Но это, похоже, не работает.Поэтому мне интересно, как я мог бы правильно упорядочить данные из моего запроса из firebase.Или мне нужно сохранить дату как длинную в базе данных, а затем преобразовать ее, может быть?

Кроме того, я хотел бы заказать самые популярные вопросы, основываясь на том, сколько пользователей смотрели эти конкретные вопросы, путем:

questionsView: «3», questionsView: «1032» и т. Д.

Firestore.instance
        .collection("Questions")
        .orderBy("questionsView")
        .snapshots(),

Но и при этом порядок сортировки не выполняется правильно.

Я видел отличный пост от Легендерика Фрэнка фон Пуффена, но я действительно не понял этого, поэтому мне интересно, может ли кто-нибудь помочь мне в этом.

Вот его пост: Данные для заказа в FireStore

С уважением, Rusben

1 Ответ

0 голосов
/ 29 сентября 2019

Я пытаюсь заказать новейшую версию по следующему адресу:

дата: "29 сентября 2019 года"

Но, похоже, это не сработает.

Это не будет работать, так как ваше date свойство имеет тип String.При упорядочении строк помните, что строки упорядочены лексикографически .

Поэтому мне интересно, как я мог правильно упорядочить данные из моего запроса из firebase.

Чтобы решить эту проблему, вы должны изменить тип вашего свойства на Date.В этом случае вы получите хронологический порядок.

Или мне нужно сохранить дату как длинную в базе данных, а затем преобразовать ее, может быть?

ЭтоРешение для упорядочения элементов - для базы данных в реальном времени, а , а не для Cloud Firestore.

Я видел отличный пост от Легендерика Фрэнка фон Пуффена, но я не совсем понял,поэтому мне интересно, может ли кто-нибудь помочь мне в этом.

В этом случае свойство station содержало целые числа в виде строковых значений, что на самом деле одно и то же.В этом случае решение состояло в том, чтобы изменить тип свойства на число или дополнить числа, чтобы они все имели одинаковую длину, но в вашем случае тип вашего свойства должен определенно быть Date и not Строка.

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