首页 > 解决方案 > 如何获取唯一 ID 以删除 React Native Firebase 中的数据

问题描述

我正在使用 Firebase 来存储我的数据。现在我想删除商店部分下的数据,但我不明白如何获取唯一 ID 以删除此处的数据是屏幕截图。

Shops
  4azTPmwIpbY9vfwf9CxKMMK74kI2
    -LuTY5RZLYFqeY5iPjfR
    -LxMsiVGtW5xgw4XsKQi
      description: "demo"
      image_url_banner: "/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2Q..."
      image_url_logo: "iVBORw0KGgoAAAANSUhEUgAABLAAAAMgCAIAAAC8ggxVAAA..."
      name: "demo"
      tagline: "demo shop here"

这是我的代码,我无法获得任何商店的 ID

deleteItem=()=>{

  let shopRef = firebase.database().ref('Shops/' + firebase.auth().currentUser.uid);
let shopId = shopRef.key;
Alert.alert("id" , shopId)
  var updates = {};
    updates["/Shops/" + firebase.auth().currentUser.uid + shopId] = null;
    return firebase
      .database()
      .ref()
      .update(updates);
}

请建议一些代码

标签: reactjsfirebasefirebase-realtime-database

解决方案


您需要执行以下操作:

  let shopRef = firebase.database().ref('Shops/' + firebase.auth().currentUser.uid);
shopRef.on("value",(snapshot) => {
 snapshot.forEach((childSnapshot) => {
  var id = childSnapshot.key;
  firebase.database().ref('Shops/' + firebase.auth().currentUser.uid).child(id).remove();
 });
});

首先附加一个监听器,然后在 key 内部迭代并使用 key 属性检索它。

在这里查看更多信息:

https://firebase.google.com/docs/database/web/read-and-write


推荐阅读