【问题标题】:Deleting document from Firestore with Cloud Functions使用 Cloud Functions 从 Firestore 中删除文档
【发布时间】:2023-10-07 04:23:01
【问题描述】:

我正在尝试使此云功能正常工作。我想从 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

这是数据库的样子: documents

谢谢!!

【问题讨论】:

  • 你做了什么来调试这个?请在此处记录您使用的变量的所有值,并确认它们是您所期望的。我们无法查看您数据库中的数据,也无法查看这些字符串的值,以验证该程序是否应该执行您想要的操作。您可以使用底部的编辑链接使用调试信息编辑问题。

标签: javascript firebase google-cloud-firestore google-cloud-functions


【解决方案1】:

您的数据库屏幕截图显示没有名为“citas/2020-12-02”的文档。它可能已经被删除了。你可以知道,因为文件的名称是斜体的。该斜体表示没有文档,但在其下组织了嵌套的子集合。当您删除父文档时,这些子集合不会被删除。如果您希望它消失,您将不得不编写一些代码来删除子集合中的所有文档。

另见:

【讨论】:

    最近更新 更多