Angular огонь пытается использовать .Where и .OrderBy вместе, но получаю ошибку - PullRequest
0 голосов
/ 03 марта 2020

Я пытался весь день заставить это работать. Он работает с одним или другим, но не работает с ними обоими вместе. Выдает консольную ошибку, утверждающую, что мне нужно создать индекс в Firestore. Однако мне нужно, чтобы мои данные запрашивались в режиме реального времени, без обновления страницы. Есть ли способ обойти это? Код

export class PreviousOrdersComponent{
    CompletedOrders: Observable<any[]>;
    constructor(firestore: AngularFirestore) {
      this.CompletedOrders = firestore.collection('Order', ref=>
      ref.where('orderCompleted', '==', 'true').orderBy('collectionTime', 'asc')).valueChanges();

    }

}

1 Ответ

2 голосов
/ 03 марта 2020

Если вы не можете создать индекс для указанного c запроса заранее, вы не сможете выполнить этот запрос. Обходных путей нет. Индекс необходим для правильного масштабирования Firestore. Firestore отказывается выполнять запросы, которые не поддерживаются индексом.

Я предлагаю прочитать документацию по управлению индексами .

...