firebase_tools not found when trying to remove firestore collection from cloud functions

*爱你&永不变心* 提交于 2020-11-28 18:10:30

问题


I am trying to remove a collection using callable firebase function.

I took a sample code from here.

The sample code has a "firebase_tools" element.

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

Which apparently is not part of firebase-function I am getting following error in function logs:

Unhandled error ReferenceError: firebase_tools is not defined

The document also mentions that:

You can import any function of the Firebase CLI into a own Node.js application using the firebase-tools package.

But I couldn't figure out how to do it.


回答1:


If you look in the same document you refer to, you will find a link to the sample code: https://github.com/firebase/snippets-node/tree/master/firestore/solution-deletes

Then if you look at the Cloud Function code (index.js) you will see that this sample starts as follows:

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

admin.initializeApp();

So you need to:

  • Firstly, check you have the firebase-tools package correctly installed. Normally this should be the case since you are most probably already using the Firebase CLI (see https://github.com/firebase/firebase-tools). In case not, install it with npm i firebase-tools.
  • Secondly, import it in your Cloud Function with const firebase_tools = require('firebase-tools'); as shown in the sample.

You will then be able to call firebase_tools.firestore.delete().



来源:https://stackoverflow.com/questions/55916337/firebase-tools-not-found-when-trying-to-remove-firestore-collection-from-cloud-f

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!