【问题标题】:firebase_tools not found when trying to remove firestore collection from cloud functions尝试从云功能中删除 firestore 集合时未找到 firebase_tools
【发布时间】:2019-09-18 20:15:27
【问题描述】:

我正在尝试使用可调用的 firebase 函数删除一个集合。

我从here获取了一个示例代码。

示例代码有一个“firebase_tools”元素。

        return firebase_tools.firestore
            .delete(path, {
                project: process.env.GCLOUD_PROJECT,
                recursive: true,
                yes: true,
                token: functions.config().fb.token
            })

这显然不是firebase-function 的一部分 我在函数日志中收到以下错误:

Unhandled error ReferenceError: firebase_tools is not defined

文件还提到:

您可以使用 firebase-tools 包将 Firebase CLI 的任何功能导入您自己的 Node.js 应用程序。

但我不知道该怎么做。

编辑:学习 nodejs 基础知识将在使用 firebase 函数时为您提供很多帮助。

【问题讨论】:

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


    【解决方案1】:

    如果您查看您引用的同一文档,您会发现示例代码的链接:https://github.com/firebase/snippets-node/tree/master/firestore/solution-deletes

    然后,如果您查看 Cloud Function 代码 (index.js),您会看到此示例的开头如下:

    const admin = require('firebase-admin');
    const firebase_tools = require('firebase-tools');
    const functions = require('firebase-functions');
    
    admin.initializeApp();
    

    所以你需要:

    • 首先,检查您是否正确安装了firebase-tools 软件包。通常应该是这种情况,因为您很可能已经在使用 Firebase CLI(请参阅https://github.com/firebase/firebase-tools)。如果没有,请使用npm i firebase-tools 安装它。
    • 其次,使用const firebase_tools = require('firebase-tools'); 将其导入您的云函数中,如示例所示。

    然后您就可以拨打firebase_tools.firestore.delete()

    【讨论】:

      猜你喜欢
      • 2016-09-05
      • 2021-08-09
      • 2021-08-19
      • 2018-12-09
      • 2018-04-23
      • 2020-10-26
      • 2019-12-12
      • 1970-01-01
      • 2020-11-01
      相关资源
      最近更新 更多