Firestore: Flutter pugin, ошибка при попытке отсортировать данные по полю - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь отсортировать документ, хранящийся в Firestore, по полю целых чисел, но при попытке сделать это я получил эту ошибку. type Query is not a subtype of type Collection Reference

Мой код:

final CollectionReference timetableCollection = Firestore.instance.collection('timetables').orderBy('Period'); 

, где точка содержит только целые числа. Код работает нормально, если я не выполняю часть orderBy. Я просмотрел документацию, и там сказано, что CollectionReference распространяется на Query, поэтому я не понимаю, где исправить.

1 Ответ

0 голосов
/ 03 августа 2020

Я уверен, что вы можете видеть из документации API, что collection() возвращает CollectionReference, а orderBy() возвращает Query.

Это правда, что CollectionReference является подклассом Query. Однако это не означает, что все объекты Query также являются объектами CollectionReference. Это означает, что все объекты CollectionReference также являются объектами Query .

Если вы хотите использовать общий тип данных, используйте Query. Эти строки кода должны обе компилироваться:

final Query timetableQuery = Firestore.instance.collection('timetables'); 
final Query timetableOrderedQuery = Firestore.instance.collection('timetables').orderBy('Period'); 
...