只读&激活非实时模式以提高浏览器性能
在我的项目中弹出消息,我也无法删除节点
我也读了这个https://groups.google.com/forum/#!topic/firebase-talk/qLxZCI8i47s
哪个州:
如果您的Firebase中有很多节点(比如数千个),我们需要为每个节点创建一个新元素,现代浏览器只能限制您可以添加到页面的DOM元素数量
它说:
要解决此问题,请不要将Firebase信息中心加载到Firebase的根目录,而是将其加载到层次结构的较低位置
我没有明白这意味着
如何返回实时信息中心?
答案 0 :(得分:54)
如果要在激活此节点时删除高级别节点,我建议您这样做。
打开文本编辑器并输入{ }
。将此文件另存为" blankJSON.json"。
转到要删除的高级别节点并选择它,一旦打开并显示需要删除的所有节点,请选择右上角的三个栏并选择"导入JSON" ,(首先是安全的#34;导出JSON"如果你没有备份,以防你在这里犯了错误)。导入我们之前创建的标题为" blankJSON"。
的JSON文件这将删除里面的所有数据。
再一次,我强烈建议您在执行此操作之前进行备份,这非常容易进行备份,并且比将您的blankJSON上传到错误的节点然后删除更容易一堆重要数据。
答案 1 :(得分:31)
当检测到从数据库下载了太多节点时,Firebase控制台会停止使用实时模式并切换到只读模式。在这种模式下,它需要较少的浏览器工作,因此浏览器更有可能保持高效。
要返回实时模式,您必须转到节点较少的位置。所以说你开始在根处加载数据库,这意味着数据树顶部的“伪地址栏”会说:
https://<your-project>.firebaseio.com/
然后会显示项目列表。现在单击该伪地址栏中的URL并将其更改为:
https://<your-project>.firebaseio.com/<one-of-your-keys>
点击输入。数据树将仅使用one-of-your-keys
中的节点重新加载并且可能会再次切换到实时模式。
答案 2 :(得分:5)
firebase中的每个节点键都是一个链接,您可以在新选项卡中打开一个子节点,然后编辑该子节点及其子节点。
右键单击要编辑或删除的子节点
在新标签页中选择打开链接
在新标签页中编辑子节点
答案 3 :(得分:2)
你可以做的是拥有一个OnClickListener
并将remove值方法调用到DatabaseReference,如下所示:
mCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mDatabaseReference.removeValue();
}
});
答案 4 :(得分:1)
我遇到了同样的问题......我有点惊讶,因为我虽然Firebase可以轻松扩展以支持大量数据(例如百万用户等)。
我有一个包含80000个子节点的节点(每个对象都有自己的push-id),我无法删除或执行任何操作,因为实时在Firebase控制台中不起作用。
我认为通过JAVA代码更新或删除数据的唯一方法是:(
答案 5 :(得分:1)
1)单击要批量删除的节点
2)导入一个空的.json文件(仅包含大括号{})
3)节点值将被设置为null,换句话说,它将被删除或被一个空节点覆盖!
答案 6 :(得分:0)
多次尝试加载特定键可能很烦人。有一个python库可以很容易地为你做到这一点。
http://ozgur.github.io/python-firebase/
我需要删除很多键,这有助于我一次性完成。