Я пытаюсь создать облачную функцию, в которой функция удаляет каждый элемент в коллекции «links», где отметка времени «eindTijd» (конечное время) старше, чем сейчас.
Функция выполняется на каждой БДписать, и не дает мне никаких ошибок, но просто не делает то, что я намерен делать.Это сводит меня с ума!
Я подозреваю, что ошибка в oldItemsQuery, но не может выяснить, что идет не так.Любая помощь будет принята с благодарностью!
Поле "eindTijd" генерируется с помощью функции Date и считается действительной отметкой времени в Firestore.
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const firestore = admin.firestore();
const settings = {timestampsInSnapshots: true};
firestore.settings(settings);
exports.verwijderOudeNodes = functions.firestore
.document('/links/{pushId}')
.onWrite(() => {
const now = Date.now();
let oldItemsQuery = firestore.collection('links').where('eindTijd', '<=', now);
return oldItemsQuery.get().then((snapshot) => {
// create a map with all children that need to be removed
let batch = firestore.batch();
snapshot.forEach(child => {
batch.delete(child.ref);
});
// execute all updates in one go and return the result to end the function
return batch.commit();
});
});