firestore <запрос смешан с запросом orderBy - PullRequest
0 голосов
/ 10 апреля 2019

Я использую Firestore для запроса документов с составными запросами, мой код:

    let query = firestore.collection( 'market' )
    let res = []
    let newChkPt = false

    // states
    query = query.where('deListTime', '==', false)
    query = query.where('tradeTime' , '==', false)
    query = query.where('expirationTime', '>', Date.now())

    // FIFO ordering
    query = query.orderBy('originationTime', 'desc')        
    query = query.limit(3)


    if (chkPt) {

        await query
            .startAfter(chkPt)
            .get()
            .then(snap => {
                snap.forEach(doc => {
                    res.push(doc.data());
                    newChkPt = doc.data()['originationTime']           
                })
            })
            .catch(e => { console.log(e); return false})

    } else {

        await query
            .get()
            .then(snap => {
                snap.forEach(doc => {
                    res.push(doc.data());
                    newChkPt = doc.data()['originationTime']           
                })
            })
            .catch(e => { console.log(e); return false})
    }

В консоли у меня есть все возможные индексы составного запроса комбинации, указанные среди полей deListTime, tradeTime, expirationTime и originationTime,И все же этот составной запрос, который я указал, отказывается извлекать данные, как предполагалось.Если я закомментирую

    query = query.orderBy('originationTime', 'desc')       

, я получу данные, и если я закомментирую «>», оставив все остальное без комментариев:

    query = query.where('expirationTime', '>', now)

, я также получу нужные данные,*

Индексы:

enter image description here enter image description here

Это действительно >enter image description here

1 Ответ

1 голос
/ 10 апреля 2019

Вы инициализируете «сейчас» где-нибудь?Вы имели в виду Date.now ()?

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