【问题标题】:Unable to remove element and children in firebase无法删除 Firebase 中的元素和子项
【发布时间】: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


【解决方案1】:

您可以探测添加$ 以删除。
示例:

var ref = new Firebase(my_app_path + stored_user_id);
ref.$remove(); 

为我工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-07
    • 2014-02-02
    • 2015-10-27
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 2014-11-18
    相关资源
    最近更新 更多