【问题标题】:How would I go about deleting a single item in Firebase?我将如何删除 Firebase 中的单个项目?
【发布时间】:2020-02-24 10:28:50
【问题描述】:

我将如何只删除一个项目?

如果我知道“名称”值(“添加”)但我不知道项目 ID 值(-M0qUq...)。

以下代码可用于删除项目,但我想让它动态化,而不必在 ID 值中硬编码。

handleRemove = (item) => {

    db.ref('/items/-M0qUPNnHRbZAb1R3690/').remove();
  }

【问题讨论】:

    标签: javascript firebase react-native firebase-realtime-database react-native-firebase


    【解决方案1】:

    尝试以下方法:

    let query = db.ref('items').orderByChild("name").equalTo("To add");
    db.once('value').then((snapshot) => {
      snapshot.forEach((subSnapshot) => {
        let key = subSnapshot.key;
        db.ref('items').child(key).remove();
     });
    });
    

    首先添加一个查询equalTo,然后在返回的结果中进行迭代,以便能够检索到key,然后使用remove() 删除。

    【讨论】:

    • 不,不幸的是,这不起作用。它删除了所有“项目”,而不仅仅是一个。我最终修改了您的方法并使用了我想删除的“项目”的索引。 itemsRef.once('value').then((snapshot) => { snapshot.forEach((subSnapshot) => { var key = Object.keys(snapshot.val())[index]; let random = itemsRef.child(key) itemsRef.child(key).remove(); }); });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 2016-07-15
    • 1970-01-01
    • 2020-11-14
    • 2021-01-31
    • 2017-12-02
    • 1970-01-01
    相关资源
    最近更新 更多