簡體   English   中英

在 v9 中刪除集合 firebase

[英]delete collection firebase in v9

有人可以解釋如何使用 reactjs 使用 v9 刪除 firebase/firestore 中的集合

firestore()
  .collection('rate')
   .get()
  .then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    doc.ref.delete();
  });

我在 v8 中使用的這段代碼我在 v9 中需要同樣的東西

 const q = query(collection(db, `${udata.id}`));
    const querySnapshot = await getDocs(q);
    querySnapshot.forEach((doc) => {
      // doc.data() is never undefined for query doc snapshots
      console.log(doc.data());
      
    });

已經試過了,但這段代碼只讀取數據,這不能讓我刪除,所以有人可以告訴我怎么做

您可以使用deleteDoc() ,如此處所述

deleteDoc()接受文檔引用,因此您需要從 forEach 內部傳遞引用。 在 forEach 中,您將收到一個 QueryDocumentSnapshot,因此您只需要添加一個

deleteDoc(doc.ref);

在使用 Modular SDK 時,有一個頂級函數deleteDoc()來刪除文檔:

import { collection, query, getDocs, deleteDoc } from 'firebase/firestore';

const q = query(collection(db, `${udata.id}`));
const querySnapshot = await getDocs(q);
    
const deleteOps = [];

querySnapshot.forEach((doc) => {
  deleteOps.push(deleteDoc(doc.ref));      
});

Promise.all(deleteOps).then(() => console.log('documents deleted'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM