Comments (9)
Hi gents,
Firebase doesn't store empty objects or empty arrays. This isn't a problem with angularFire; it's part of the Firebase design. Check out these SO posts for more:
http://stackoverflow.com/questions/15306191/empty-arrays-dropped-in-post-request-to-firebase
http://stackoverflow.com/questions/15408416/how-to-handle-empty-arrays-in-firebase/15414522#15414522
from angularfire.
This is like saying we don't need the number 0 which represents nothing
Silly mistake from Googles side
from angularfire.
Please note that you can always store falsy values for that purpose, as Firebase doesn't care about types: Instead of []
, {}
or NULL
, store either false
or 0
.
from angularfire.
The root problem here, if I understand it correctly (since I just experienced it) is not that they are not stored on the server, but rather that on the client, the object in $scope could be null or undefined. It wouldn't really matter that it's null on the server (a fundamental of Firebase's behavior that probably won't be changing) but what we do when we retrieve a null.
My thought is that we should probably be creating an empty {} or [] accordingly.
from angularfire.
Okay, so on further investigation, it looks like it's simply not set until angularFire gets a value back. So on null it does nothing. So knowing this, a simple workaround is to manually set the value before hand -- it eliminates the need to check if it exists before pushing or reading.
$scope.items = {}; // temporary workaround
angularFire( path, $scope, 'items', {} );
from angularfire.
This happens for every property down the object. And I'm specifically referring to empty arrays, not objects.
from angularfire.
This should be fixed, we treat NULL values specially now and should reset local data to an empty array or object (they will still be stored as null on Firebase).
Please try with the latest version of angularFire and re-open if you have any trouble!
from angularfire.
@anantn it seems as if empty arrays []
still don't get stored within Firebase as of now.
from angularfire.
@joscha @anantn empty arrays don't get stored in Firebase for me as well.
from angularfire.
Related Issues (20)
- Error: Metadata version mismatch for module node_modules/angularfire2/index.d.ts, found version 4, HOT 2
- JS console error displaying my API Key on failed login - Chrome only
- Your library does not support callbacks for set(), push(), while Firebase does
- Are there any plans to include ML Kit support?
- ng build --prod || Can't resolve './public_api' in '/node_modules/angularfire2/database' HOT 1
- firestorage $putString callbacks not binding HOT 2
- Firestore support HOT 1
- Dependency Update HOT 1
- I keep getting "TypeError: Right-hand side of 'instanceof' is not callable" error no matter what sign in method I try
- Firestore is loading all data in every new insert or any updates
- callable functions throw deadline-exceeded even though the function was defined with max timeout in nodes HOT 2
- New Console Error "TypeError: v12 is not a function" With Version 0.9.2 HOT 1
- 'child_added' does not trigger when re-adding same item to RTDB
- 'child_removed' triggers on setting listener, before child is removed
- ERROR Error: Uncaught (in promise): TypeError: Cannot convert undefined or null to object HOT 1
- ERROR TypeError: ZS(...).firestore is not a function HOT 1
- Email verification HOT 1
- Uncaught TypeError: Cannot read property 'GoogleAuthProvider HOT 1
- auth.signInAnonymously() support HOT 1
- Potential Security Issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angularfire.