有没有办法在一天后从Firebase真实的数据库中删除数据(使用Flutter)?

pgvzfuti  于 2022-12-14  发布在  Flutter
关注(0)|答案(1)|浏览(108)

我想添加的数据在默认情况下会在数据库中保留1天,然后被删除。除非我设置了不同的时间(超过一天)。

n3schb8v

n3schb8v1#

您可以创建类似下面的方法,您需要将其上传到Firebase Cloud Function上
第一个参数为:// 2小时(以毫秒为单位)。

exports.deleteOldMessages = functions.database.ref('[path]').onWrite(async (change) => {
    const ref = change.after.ref.parent; // reference to the parent
    const now = Date.now();
    const cutoff = (now - CUT_OFF_TIME) / 1000; // convert to seconds
    const oldItemsQuery = ref.orderByChild('seconds').endAt(cutoff);
    const snapshot = await oldItemsQuery.once('value');
    // create a map with all children that need to be removed
    const updates = {};
    snapshot.forEach(child => {
        updates[child.key] = null;
    });
    // execute all updates in one go and return the result to end the function
    return ref.update(updates);
});

您也可以查看下面的链接以供参考。
souce

相关问题