как правильно выполнить запрос по дате в Firestore? - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь сделать cronjob, чтобы удалить событие, которое было передано с использованием http триггера. сегодня 7 сентября, поэтому событие 5 сентября (6fqmROcWD7K1pTFtXmJJ), как показано на рисунке ниже, должно быть зафиксировано в моментальном снимке запроса. но длина документа равна нулю

enter image description here

вот код, который я использую:

export const cronJobDeletingPastEvents = functions.https.onRequest(async (request,response) => {

        const dateNow = Date.now()
        const pastEventsSnapshot = await admin.firestore().collection("events").where('dateTimeFinish', '<', dateNow).get()
        console.log(pastEventsSnapshot.docs.length) // <---- the result is zero

// perform some actions ....

}

Я не знаю, что здесь пошло не так, но я думаю, это потому, что dateNow - это число, а поле dateTimeFinish в пожарном хранилище - это Timestamp объект. но я не знаю, как это исправить

1 Ответ

0 голосов
/ 07 сентября 2018

Будет работать следующее:

const dateNow = new Date()

const pastEventsSnapshot = await admin.firestore().collection("events").where('dateTimeFinish', '<', dateNow).get()
...

Следующее также будет работать:

const dateNow = new Date('2018-09-07T01:25:54.000Z')
const dateNow = new Date('2018-09-07')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...