Firestore делает сложный запрос, но мне нужен один запрос - PullRequest
0 голосов
/ 23 сентября 2019

Я получаю все документы, содержащие определенное значение, и сортирую их по 'timestamp'.

 var snapshot = await Firestore.instance
      .collection('posts')
      .where('exam', isEqualTo: _doc)
      .orderBy(
        'timestamp',
        descending: true,
      )
      .limit(50)
      .getDocuments();

Но Firestore делает сложный запрос и сортирует по 'exam' (алфавитному) и по 'timestamp».Каким должен быть мой код для запроса только по метке времени?

Снимки экрана: Структура базы данных Индексы

Временное исправление: я переупорядочиваю документы.

  List<Post> newPost =
      snapshot.documents.map((doc) => Post.fromDocument(doc)).toList();
    setState(() {
      posts = List.from(posts..addAll(newPost));
      posts.sort((a, b) => b.timestamp.compareTo(a.timestamp));
    });
...