【发布时间】:2014-03-15 15:38:31
【问题描述】:
我有一个保存用户信息的数据块,所以数据树看起来像:
app
-Jweljralsdjfo49
username: "Fred"
age: 25
shoesize: 16
我正在努力:
var ref = new Firebase(my_app_path + stored_user_id);
ref.remove();
我也试过了;
var ref = new Firebase(my_app_path);
var child = ref.child(stored_user_id);
child.remove();
两者都不起作用,因为数据始终存在。
remove() 的文档指出:“删除此 Firebase 位置的数据。子位置的任何数据也将被删除。”所以我希望它全部消失。
我尝试添加一个回调,并且在每种情况下,回调都使用null 调用(表示成功,引用文档:“回调将在失败时传递一个错误对象,否则为空。”)。
我做错了什么?是因为我使用的是用户ID吗?我目前没有使用任何安全规则,但一旦使用,出于安全限制,我不希望非用户能够删除用户内容。
谢谢!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
编辑:发现问题。
我正在使用 EmberFire,效果很好;但是跟踪对象的EmberFire.Object 必须被销毁(),然后我必须这样做:
Ember.run.later(function() {
var ref = new Firebase(my_app_path + stored_user_id);
ref.remove();
}, 1);
为了使对象正式消失,并让 Ember/EmberFire 释放对数据的控制。
【问题讨论】:
-
您能否在调用 .remove() 之前添加一个 console.log(ref.toString()) 并确保 URL 是您所期望的? (您可以将其粘贴到浏览器中,看看 Forge 中是否显示了正确的数据)。
-
看来 OP 自己找到了解决方案。
标签: javascript firebase