Заказ коллекцииСсылка Firease - PullRequest
0 голосов
/ 24 апреля 2020

Я использую CollectionReference, чтобы прочитать все документы в моей коллекции.

CollectionReference MyItems = db.collection( "Users" );
MyItems .get().addOnCompleteListener( task -> {
    if (task.isSuccessful()) {
        if (task.getResult()!=null) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                fetchItems(document.getString("ItemID"));
            }
        }
    } else {
        Log.d("", "Error getting documents: ", task.getException());
    }
} );

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

CollectionReference MyItems = db.collection( "Users" ).orderBy( "Date", Query.Direction.ASCENDING );
MyItems .get().addOnCompleteListener( task -> {
    if (task.isSuccessful()) {
        if (task.getResult()!=null) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                fetchItems(document.getString("ItemID"));
            }
        }
    } else {
        Log.d("", "Error getting documents: ", task.getException());
    }
} );

Однако это не работает, так как я получаю эту ошибку в моей первой строке (CollectionReference MyItems ...):

enter image description here

Спасибо вы

1 Ответ

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

CollectionReference является подклассом Query. В этом случае вы создаете объект Query, а не CollectionReference, поэтому вам нужно правильно ввести:

Query MyItems = db.collection( "Users" ).orderBy( "Date", Query.Direction.ASCENDING );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...