Firebase : Read-only & non-realtime mode activated to improve browser performance
Solution 1
When it detects that it's downloading too many nodes from your database, the Firebase Console stops using real-time mode and switches to read-only mode. In this mode it requires less work from the browser, so it is more likely that the browser will stay performant.
To get back to realtime mode, you have to go to a location that has fewer nodes. So say that you start loading the database at the root, that means that "pseudo address bar" at the top of the data tree will say:
https://<your-project>.firebaseio.com/
And then will show the list of items. Now click on the URL in that pseudo address bar and change it to:
https://<your-project>.firebaseio.com/<one-of-your-keys>
And hit enter. The data tree will reload with just the node from one-of-your-keys
and down and will likely switch to realtime mode again.
Solution 2
If you want to delete a high level node when this is activated, I recommend doing this.
Open up a text editor and type in { }
. Save this file as "blankJSON.json".
Go to high level node you want deleted and select it, once it opens up and shows you all the nodes that need to be removed, select the three bars at the top right and select "Import JSON", (It would be safe to first "Export JSON" If you don't have backups, in case you make a mistake here). Import the JSON file we created earlier titled "blankJSON".
This will delete all of the data inside.
Once again, I highly suggest you make a backup before doing this, It's extremely easy to make a backup and also it is much easier than you would think to upload this blankJSON to the wrong node and then erasing a bunch of important data.
Solution 3
Every node key in firebase is a link, you can open a sub-node in a new tab and then edit that sub-node and its children.
Right click on a sub-node you want to edit or delete
Select open link in a new tab
Edit the sub-node in the new tab
Solution 4
1) Click on the Node you want to mass delete
2) Import an empty .json file (just containing curly braces, {} )
3) The node value will be set to null, in other words it is deleted or rather overridden with an empty node!
Solution 5
What you can do is to have an OnClickListener
and call the remove value method to your DatabaseReference, like this:
mCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mDatabaseReference.removeValue();
}
});
Veeresh Charantimath
Updated on June 19, 2020Comments
-
Veeresh Charantimath about 4 years
Read-only & non-realtime mode activated to improve browser performance
Message pops up in my project and I'm unable to delete the nodes as well
Also I read this https://groups.google.com/forum/#!topic/firebase-talk/qLxZCI8i47s
Which states :
If you have a lot of nodes in your Firebase (say thousands), we need to create a new element for each node and modern browsers simply have limitations of how many DOM elements you can add to a page
It says:
To resolve this problem, don't load your Firebase Dashboard at the root of your Firebase, but instead load it lower down in the hierarchy
I do not get what it means
How do I get back to my Realtime Dashboard?
-
Nikolay Mihaylov almost 8 yearsLinks to potential solutions are always welcome, but please add some details for future visitors in case the link is no longer available.
-
dangling_refrenz over 7 yearsBut how can I delete a high-level node that has a large number of children, from the browser ? For some reason even doing a programmatic delete of the high level node using a call to a mutableData.setValue(null) within a transaction stopped deleting that node for me...that method had worked earlier
-
dangling_refrenz over 7 yearsOk sorry, it looks like the programmatic delete worked for me, just took a few seconds to be reflected in the browser....so conclusion: for nodes with large nr. of children I can only delete programmatically, not from the browser
-
interrupt about 7 yearsIt has nothing to do with Firebase scalability, it is just that they limit browser editing for large number of nodes
-
Dallas about 7 years@dangling_refrenz Little late, but you can in fact delete high level nodes in browser. You can check my answer below to do so.
-
Kalpesh almost 7 yearsSmart Solution, Thanks
-
Himanshu almost 7 yearsSmart and easy solution!
-
QWERTY almost 7 years@FrankvanPuffelen Hey I tried the above but the firebase console is still showing this: Read-only & non-realtime mode activated to improve browser performance. How can I switch back to real time mode again?
-
Pure Function over 6 yearsThaaaaaaank you!
-
Ivan Rubinson almost 6 yearsThat's a great observation! This means that you can enter the node you want through the address bar, even if the sub-node doesn't exist! This allows you to create new nodes even if its father is too big.
-
Charlie almost 6 yearsthis is the best solution as you just right click and select open in new tab and tada.. thanks Ashwin!
-
Diego Ricardo Valdivia Arreola over 4 yearsBut this doesnt work if the node that you have to edit has a lot of nodes. Firebase will still show you the "read only" mode.
-
Abhilasha about 4 yearsThat's a perfect solution worked for me with less time
-
Yilmaz Guleryuz almost 4 yearsindeed. simpler the better!
-
NubSteel over 3 yearsCrude, but did the job perfectly.