繁体   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