Сравните две метки времени Firestore в облачных функциях - PullRequest
0 голосов
/ 09 сентября 2018

Я пишу функцию обновления в Firestore и хочу сравнить две Timestamp. Я пробовал несколько вещей, но не работает. Можете ли вы указать мне правильный способ сравнения двух Timestamp в пожарном депо.

exports.updateFunction = functions.firestore
    .document('xyz/{xyzId}')
    .onUpdate((change, context) => {
        var updatedXYZ = change.after.data();
        var oldXYZ = change.before.data();

        var newTimestamp = updatedXYZ.timing;
        var oldTimestamp = oldXYZ.timing;

        // I've tried following things but not working

        var result = newTimestamp === oldTimestamp; // not working
        var result = new Date(newTimestamp) - new Date(oldTimestamp); // not working

        return true;
    });

Я хочу проверить, совпадают ли две метки времени.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вам необходимо добавить эту строку

admin.firestore().settings( { timestampsInSnapshots: true })

в вашем файле index.js.

После добавления этой строки облачная функция будет читать ваше поле метки времени как Метка времени Тип данных. Теперь вы можете сравнить две метки времени, используя

var result = newTimestamp.isEqual(oldTimestamp);
0 голосов
/ 09 сентября 2018

Обратитесь к документации API для объекта метки времени Firestore. Метка времени имеет метод с именем isEqual () , который будет сравнивать две метки времени.

var result = newTimestamp.isEqual(oldTimestamp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...