Почему нумерация страниц не работает? - PullRequest
0 голосов
/ 05 июня 2018

Вот как выглядит документ в коллекции:

const request = {
            carNum: carNum,
            userId: userId,
            comm: comm,
            location: location,
            data: new Date(),
            status: 'wait',
            geo: new firebase.firestore.GeoPoint(latitude, longitude),
        };

Когда я пытаюсь изменить начальную точку для запроса (startAfter).Firebase каждый раз присылает мне одно и то же значение.Почему?

let docRef = db.collection('requests').orderBy('data').startAfter(3).limit(3);
        try {
            let doc = await docRef.get()
            console.log(doc);
            console.log('Hello');
        } catch (e) {
            result = e;
        }

1 Ответ

0 голосов
/ 05 июня 2018

Параметр starAfter() должен быть того же типа, что и данные, которые вы найдете в этом узле.

Другими словами, запрос с startAfter(3) начнется не после 3-го элемента в вашей коллекции, а после первого документа, для которого данные = 3.

Вы можете сохранить свои данные какОтметка времени:

const request = {
            carNum: carNum,
            userId: userId,
            comm: comm,
            location: location,
            data: new Date().getTime(),   // <- get the Timestamp
            status: 'wait',
            geo: new firebase.firestore.GeoPoint(latitude, longitude),
        };

и запросите ее с отметкой времени:

let docRef = db.collection('requests').orderBy('data').startAfter(1528074000).limit(3)

Однако учтите, что приведенное выше не является DocumentReference , а CollectionReference.Вам нужно будет просмотреть результаты, которые вы получили, чтобы получить документы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...