我在Firebase中设置了以下数据库:
我正在尝试编写一个在媒体内(在所有用户中)进行搜索的脚本,并在任何特定媒体网址与我通过的网址参数匹配时返回匹配项。如果返回匹配,我想删除此媒体密钥/节点。但是,我的脚本只返回null。有任何想法吗?
const ref = firebase.database().ref('/users/');
const url = 'https://XXXXXX.s3.amazonaws.com/profiles/william/1478471907-me.jpg';
return ref.child('media').orderByChild('url').equalTo(url).once("value").then(function(snapshot) {
console.log(JSON.stringify(snapshot.val()));
});
答案 0 :(得分:1)
好的,感谢Imjared的反馈,我找到了一个解决方案 - 包括一种删除节点的方法:
// reference the media, B4K... could be an variable to target the correct key
const ref = firebase.database().ref('/users/B4KWeemv78R2GP7Jqul2f70kVM73/media');
return ref.orderByChild('url').equalTo(url).once("value").then(function(snapshot) {
// get the key of the respective image
const key = Object.keys(snapshot.val())[0];
// delete image node from firebase
ref.child(key).remove();
return {
success: 1,
message: 'Image deleted.'
};
}