如何删除firebase中的值

Pab*_*che 3 javascript firebase firebase-realtime-database

只是一个小问题:
现在我有了这个结构

images
---- uniqueId
-------- id_logement : 1747657
-------- image : dataimage
---- uniqueId
-------- id_logement : 1747657
-------- image : dataimage
---- uniqueId
-------- id_logement : 985445234
-------- image : dataimage
Run Code Online (Sandbox Code Playgroud)

而且它更好!谢谢 !!但是:
如何删除id_logement = 1747657的所有图像?
我试过了

        firebase.database().ref('logements/'+key).remove();
        firebase.database().ref('geofire/'+key).remove();
        firebase.database().ref('images').child('id_logement').equalTo(key).remove();
Run Code Online (Sandbox Code Playgroud)

键= 1747657,但图像没有成功!这个UniqueId让我很紧张!请你给我更多建议吗?非常感谢你

ado*_*srs 10

由于您希望基于查询批量删除数据,因此您需要先检索它并删除它,将其值设置为null并提交更改update.

const ref = firebase.database().ref('images');
ref.orderByChild('id_logement').equalTo(key).once('value', snapshot => {
     const updates = {};
     snapshot.forEach(child => updates[child.key] = null);
     ref.update(updates);
});
Run Code Online (Sandbox Code Playgroud)

工作jsFiddle.


nac*_*cab 5

实际上有一种更简单的方法.

只需ref在快照中调用该属性,然后使用.on('child_added',...)

var ref = firebase.database().ref('images');
ref.orderByChild('id_logement').equalTo(key).on('child_added', (snapshot) => {
     snapshot.ref.remove()
});
Run Code Online (Sandbox Code Playgroud)