我正在使用Firebase作为网络应用.它是用普通的Javascript编写的,不使用外部库.
我可以使用'.on("child_added")'"推送"和检索数据,但是'.remove()'不能按照它应该的方式工作.根据API,
"Firebase.remove() - 删除此Firebase位置的数据.子位置的任何数据也将被删除.删除的效果将立即显示."
但是,删除不会立即发生; 只有当整个脚本完成运行时.我需要删除然后立即使用清除的树.
示例代码:
ref = new Firebase("myfirebase.com") //works
ref.push({key:val}) //works
ref.on('child_added', function(snapshot){
//do stuff
}); //works
ref.remove()
//does not remove until the entire script/page is done
Run Code Online (Sandbox Code Playgroud)
这里有一个类似的帖子,但我没有使用Ember库,即使如此,它似乎是一个解决方法,应该像API解释它一样简单.
我想通过查询删除整个节点,如delete*WHERE user_id =" - KTruPWrYO9WFj-TF8Ft"我如何在firebase上实现这一点?
-KVpQFXnzQkzzrowHxGk
answer: "1"
question_number: 2
user_id: "-KTruPWrYO9WFj-TF8Ft"
-KVpQFXODhsAMJYFNjy7
answer: "4"
question_number: 25
user_id: "-KTruPWrYO9WFj-TF8Ft"
Run Code Online (Sandbox Code Playgroud) 一直在阅读文档和其他帖子,但我无法删除节点.我试图通过值选择节点.
var eventContactsRef = firebase.database().ref('events-contacts');
eventContactsRef.orderByChild('eventContactId').equalTo(eventContactId);
Run Code Online (Sandbox Code Playgroud)
然后在结果上调用remove方法
eventContactsRef.remove(function (error) {
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
除了空错误值之外没有任何反应.我使用的是最新的firebase,大多数示例都是旧版本的,所以我不确定是否需要获取密钥,然后尝试删除它作为参考?
这是第一次使用firebase,所以我不确定我是否正确保存了数据.这是保存的代码.
var key = firebase.database().ref().child('event-contacts').push().key;
var url = firebase.database().ref('/event-contacts/' + key);
url.set(eventContacts);
Run Code Online (Sandbox Code Playgroud)
和截图