Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何删除Firebase中的单个项目?_Javascript_Firebase_React Native_Firebase Realtime Database_React Native Firebase - Fatal编程技术网

Javascript 我如何删除Firebase中的单个项目?

Javascript 我如何删除Firebase中的单个项目?,javascript,firebase,react-native,firebase-realtime-database,react-native-firebase,Javascript,Firebase,React Native,Firebase Realtime Database,React Native Firebase,我该如何删除单个项目 假设我知道“名称”值(“添加”),但我不知道项目ID值(-M0qUq…) 下面的代码用于删除该项,但我希望使其成为动态的,而不必硬编码ID值 handleRemove = (item) => { db.ref('/items/-M0qUPNnHRbZAb1R3690/').remove(); } 尝试以下操作: let query = db.ref('items').orderByChild("name").equalTo("To add"); db.

我该如何删除单个项目

假设我知道“名称”值(“添加”),但我不知道项目ID值(-M0qUq…)

下面的代码用于删除该项,但我希望使其成为动态的,而不必硬编码ID值

handleRemove = (item) => {

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

尝试以下操作:

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
,然后在返回的结果中迭代以检索
,然后使用
remove()
进行删除

不,不幸的是,这不起作用。它删除了所有的“项目”,而不是一个单一的。我最终修改了你的方法,并使用了我想要删除的“item”的索引<代码>itemsRef.once('value')。然后((snapshot)=>{snapshot.forEach((subSnapshot)=>{var key=Object.keys(snapshot.val())[index];let random=itemsRef.child(key)itemsRef.child(key).remove();})