我正在努力让这个云函数发挥作用。我想从Firestore中删除一个名称为上一个函数执行日期的文档。这个功能本应在每晚凌晨2点执行,但由于某种原因,它不起作用。这是我的代码:
exports.deleteYesterday = functions.pubsub
.schedule("0 02 * * *")
.onRun(async (context) => {
var yesterday = new Date();
var dd = String(yesterday.getDate() - 1).padStart(2, "0");
var mm = String(yesterday.getMonth() + 1).padStart(2, "0");
var yyyy = yesterday.getFullYear();
const dateString = (yyyy + "-" + mm + "-" + dd).toString();
let ref = admin.firestore().collection("citas").doc(dateString);
return ref.delete();
});
当记录dateString值时,我会得到我需要的正确日期格式:dateString
数据库如下所示:文件
谢谢!!
您的数据库屏幕截图显示没有名为"citas/2020-12-02";。它可能已经被删除。您可以判断,因为文档的名称是斜体字。斜体表示没有文档,但在其下组织了嵌套的子集合。删除父文档时,这些子集合不会被删除。如果希望子集合中的所有文档消失,则必须编写一些代码来删除这些文档。
另请参阅:
- 删除Firestore中包含所有子集合和嵌套子集合的文档