Я использую geofirestore с firestore и хочу разбить результаты на страницы - PullRequest
0 голосов
/ 13 февраля 2019

Tech : гео-магазин, пожарное депо, угловая версия 7

Ссылка на гео-магазин: https://github.com/geofirestore/geofirestore-js

В настоящее время:

Я использую лимит и увеличиваю его до 20. За один раз:

Проблема:

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

Пожалуйста, дайте мне знать о любых альтернативах разбиению на страницы геофайра?

Текущая попытка:

public getResults(geo: any, lastLimit: number) {
  const geocollection: GeoCollectionReference = this.geofirestore.collection('test');
  const query = geocollection.near({ center: new firebase.firestore.GeoPoint(geo.lat, geo.lng), radius: geo.radius });
  lastLimit = lastLimit + 2;

  return query.limit(lastLimit).get().then((querySnapshot) => {
    return this.mapResponse(querySnapshot, lastLimit);
  });
}


public mapResponse(querySnapshot: GeoQuerySnapshot, lastLimit: number): any {
   let jobs = [];

   querySnapshot.forEach((doc) => {
    jobs = [ ...jobs, doc.data() ];
 });

 return { jobs, lastLimit };
}

Вопросы:

  1. Когда будет доступна нумерация страниц, если ее нет?

  2. Как мне обойти это сейчас, если он недоступен?

  3. Если он доступен, как мне это сделать, обычно я использую startAt / startAfter и т. Д.?

...