Firebase:只读&激活非实时模式以提高浏览器性能

时间:2016-07-29 05:38:32

标签: firebase firebase-realtime-database firebase-console

  

只读&激活非实时模式以提高浏览器性能

在我的项目中弹出消息,我也无法删除节点

我也读了这个https://groups.google.com/forum/#!topic/firebase-talk/qLxZCI8i47s

哪个州:

  

如果您的Firebase中有很多节点(比如数千个),我们需要为每个节点创建一个新元素,现代浏览器只能限制您可以添加到页面的DOM元素数量

它说:

  

要解决此问题,请不要将Firebase信息中心加载到Firebase的根目录,而是将其加载到层次结构的较低位置

我没有明白这意味着

如何返回实时信息中心?

7 个答案:

答案 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中的每个节点键都是一个链接,您可以在新选项卡中打开一个子节点,然后编辑该子节点及其子节点。

  1. 右键单击要编辑或删除的子节点

  2. 在新标签页中选择打开链接

  3. 在新标签页中编辑子节点

答案 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/

我需要删除很多键,这有助于我一次性完成。