繁体   English   中英

Firebase React:从 firestore 中的数组中删除项目(地图)

[英]Firebase React: Remove Item (Map) from array in firestore

我正在尝试从 firebase 中的数组中删除 map 项目。根据我对 firebase 的理解 - 您无法根据索引删除该项目。 我应该以不同的方式构造它还是有更简单的方法从数组中删除特定的 object? 谢谢

错误:“没有要更新的文档:”

在此处输入图像描述

  const listingRef = doc(db, 'users', 'savedListings');

  const deleteListing = async () => {
    try {
      await updateDoc(listingRef, {
        savedListings: deleteField()
      });
    } catch (e) {
      console.log(e.message);
    }
  };```

在这种情况下, doc()采用指向文档的路径,该文档应该是users/test@user.com 虽然您可以使用arrayRemove()从数组字段中删除元素,但您不能从数组中删除 object,除非您知道 object 的确切值,包括所有字段。

const listingRef = doc(db, 'users', 'USER_EMAIL'); // USER_EMAIL is document ID

const deleteListing = async () => {
  try {
    await updateDoc(listingRef, {
      savedListings: arrayRemove("THAT_OBJECT")
    });
  } catch (e) {
    console.log(e.message);
  }
};

如果您没有确切的 object,则必须阅读文档,手动从数组中删除元素并更新文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM