>source

Cloud 함수가 아닌 NodeJS 스크립트에서 Firestore 컬렉션과 해당 하위 모음을 삭제하고 싶습니다. 나는 프로젝트 선택으로 그것을 얻을 수 없다.

지우기,이 CLI 명령과 동일하게 수행하려고하지만 스크립트에서 :

firebase -P my-project firestore:delete fruits --recursive

여기에 내 시도가 있습니다.

const admin= require("firebase-admin");
const serviceAccount= require("path_to_my_service_account_key.json");
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: `https://my-project.firebaseio.com`,
});
const firebaseTools= require("firebase-tools");
firebaseTools.use("my-project");
async function deleteCollection(collectionName) {
    const ref= admin.firestore().collection(collectionName);
    const res= await firebaseTools.firestore.delete(ref);
    console.log("delete success:", res);
}
deleteCollection("fruits");

FirebaseTools.Use 행에서 문자열 'EasyPinger-test'문자열에 "TypeError : String 'Project'프로젝트를 생성 할 수 없습니다.
제거하면 삭제 명령에서 정의되지 않은 "TypeError : 속성 '프로젝트'를 읽을 수 없습니다.
어떻게 옳게 할 수 있습니까?

Firebasetools.Use ()를 호출 할 아이디어가 있는지 모르겠습니다. 아마도 문서에서 code로 시작하고 싶을 것입니다. 삭제 ()는 두 개의 인수를 취합니다. firebase.google.com/docs/firestore/solutions/delete-collections.

Doug Stevenson2021-04-08 09:30:48

감사합니다! 삭제할 매개 변수로 프로젝트 정보를 전달할 때 작동합니다. 나는 명령을 적용 할 프로젝트를 지정하는 방법을 찾고 있었다. 여기에서 명령을 읽음으로써 사용하기 위해 잘못된 아이디어가있다 : firebase.google.com/docs/cli#admin-commands

Louis Coulet2021-04-08 09:30:48

링크를 답변으로 게시하면 받아 들일 수 있습니다.

Louis Coulet2021-04-08 09:30:48
  • 이전 c : 왜 Fwrite가 바이너리 모드를 쓰는 데 효과가 없습니까?
  • 다음 javascript : Google을 사용하여 Angular에서 한 번 누릅니다