У меня есть коллекция с большим количеством документов, перейдите от 5k записей , и мне нужно создать функцию для возврата этих записей с максимально возможной производительностью, используя Ionic 4 и AngularFire2 .
В данный момент он просто принес все документы в коллекции, но я не хочу загружать столько данных пользователю на экране вашего мобильного телефона.
Условия исполнения:
- Используйте ionic-infinite-scroll для загрузки этих документов коллекции
частично.
Отфильтруйте документы по значению поля, чтобы вы могли получить
записи, даже если у вас есть акценты в слове или если это
прописные или строчные.
public getCollection(coll: string): Observable<any[]> {
return this._angularFirestore.
collection(this._collections.getColl(coll)).
snapshotChanges().pipe(
map(actions => actions.map(a => {
const data = a.payload.doc.data() as any;
data.id = a.payload.doc.id;
return data;
})));
}
Приведенный выше запрос напрямую извлекает 5k записей и загружает их все на экран. Я действительно не знаю, как отобразить эти данные пользователю с указанными выше условиями, чтобы получить хорошую производительность.