You make great videos. They are really fun to watch, while being very educational. The problem I have with Firestore is the limited querying capabilities. Compared to SQL - it's like a toy, not suitable for "real application". Some examples: 1. No way to count records, without fetching them 2. Cant query by comparing two fields of the same doc 3. Cant query for doc which lack a field (which would be useful for maintaining a denormalized data-model) 4. No uniq costraints And so on
Perfect tutorial! That's really a very informative one, I thought I am good with RTDB, but after watching this, I've realized that I've missed lots of good stuff! Thanks Todd
Had issues using Firebase Realtime Database until this video. I enjoyed watching it and have been able to get proper understanding of its usage which I'll proceed further by reading the documentation. I also think making a longer in depth video like this one is much better than shorter videos.
Very good video, it even answers one of my question on StackOverFlow about how to convert DataSnapshot to a Data model object ! Format is really nice, and explanations really clear, i was simply hoping you would cover the RTDB scaling / Sharding data but i guess this will be for another video 👌🏻
Ok now this video but for Firestore please! Adding a section for best practices, really complex queries, best practices for common data structures (user-profiles, chats, foreign-key referencing, mapping/location, JSON maptype, timestamps, etc, etc)
Nice. Many basic but certainly good things in this video. The addition of the optional pattern designs was cool too. One problem of this longer videos is that there is a greater probability of them being too (dated) specific to the software versions used in it, but i still think that it brings great value to the channel. Why worry for something that hasn't come yet? Nobody would do anything that way. The ideal would be to keep the two formats (short and long videos). And use them according to the occasion.
In 26:13 I have an error when typing "final data = new Map.from(event.snapshot.value);" saying that The argument type 'Object?' can't be assigned to the parameter type 'Map How can I solve it please?
8:28 When you back these version, you can use it. I was using last version and get same error. I couldn't fix it so I change the version of firebase_core and firebase_database
@@tanikagulati307 When I try to access data like shown above I get this error: Expected a value of type 'String', but got one of type 'Null' I can print data and I see the giant JSON object that I'm querying but I can't access any fields from my json object..
Is it just me that gets a lot of errors when trying to implement the exact same code in my apps ... ? The videos are great, no doubt, but sometimes it just doesn't let me compile
I am struggling to retrieve the data from FB realtime database, always stuckup at Unhandled Exception: type 'List' is not a subtype of type 'Map'...kindly help
23:00 . it does not happen immediately. it takes 1 sec to replace the original text" results go here" with the downloaded string from realtime database. is there a way to show directly the downloaded string?
Is any solution for write limit per second on Firestore (use Pub/Sub?)...The transaction 'batch' count 1 write on commit or N writes if the transaction contain N write operations? Thanks for the video!!
Great video, but I think there should be a link in the comments to the completed code project. Having to pause the video every few seconds to compare my code to yours is frustrating and frequently leads to long trips down the rabbit hole while I try to figure out what you've done that's just off the top or bottom of the video screen.
Hi I need help . When I wrote one sentence for example name 1. Value ." I like football" I can see only one word "I" in my application how can I fix please
In the stream publisher don't forget to create an empty list and check is the snapshot exists so it will not crash when there's no items in the database. Example: Map ordersMap = {}; if (event.snapshot.exists){ ordersMap = Map.from(event.snapshot.value); }
I would like more in-depth videos, but it should be a series of videos. I don‘t like to open one video to see within the description the covered topics/areas. The video title should show the topics.
final data = new Map.from(event.snapshot.value); return error The argument type 'Object?' can't be assigned to the parameter type 'Map, anyone know why?
I have built a few streambuilders using this tutorial for guidance, but when the user hasn't yet entered the data that the stream takes, it returns the error type 'Null' is not a subtype of type 'Map', how to I get around this? All methods I have tried fail to stop this error.
@@chicagoworkscom I ended up using shared preferences to store a local int that tracked how many times data was stored (or removed) by the user, anything above zero and it would run the stream builder, other wise a placeholder image. The problem with your solutions is it comes back with a snapshot with some data, somehow. I would of imagined they would have a better solution to this and documentation to go with it. Was also frustrating how his example should of shown this problem when the database doesn't yet have data. Appreciate you looking into it! I have had so many issues with real time data base and how it works. getting there tho!
The Realtime Database loads the path you read from and the data under it, but not the data above it. So in your scenario it'll only load the price and not any other properties of `abc`.
Hi! You can find information about how unique identifiers work through our Firebase blog here: firebase.blog/posts/2015/02/the-2120-ways-to-ensure-unique_68
final data=Map.from(event.snapshot.value); doesn’t work for me . It shows error: The argument type Object? can’t be assigned to the parameter type Map…. Any solutions?
I tried this: final data = event.snapshot.value as Map; The compile error went away but it cashed with this: Unhandled Exception: type '_InternalLinkedHashMap' is not a subtype of type 'Map' in type cast.
Life-changing tutorial. The presentation is clear and simple. I like that it’s only one hour-perfect amount of time to explain this type of topic.
Glad you enjoyed it!
Yes, Please! Keep it lengthy & comprehensive. We want to get all the knowledge in one place.
TODD I'VE MISSED YOU😭😭😭
Great work ! I rarely enjoy watching tutorial videos, but this one was 100% enjoyable.Especially the sound when you change screens :D .
You make great videos. They are really fun to watch, while being very educational.
The problem I have with Firestore is the limited querying capabilities. Compared to SQL - it's like a toy, not suitable for "real application".
Some examples:
1. No way to count records, without fetching them
2. Cant query by comparing two fields of the same doc
3. Cant query for doc which lack a field (which would be useful for maintaining a denormalized data-model)
4. No uniq costraints
And so on
Is firebase database suitable for searching data and presenting that to users? I want to store my customer data in it.
Perfect tutorial! That's really a very informative one, I thought I am good with RTDB, but after watching this, I've realized that I've missed lots of good stuff!
Thanks Todd
Great to hear!
Awesome and comprehensive explanation with the nice examples!💪🏻That's what we developers really love ❤️Appreciate the effort, Todd 🙏🏻
Glad you enjoyed it!
Finished the video woooo. It's 2328hrs on a school night ,but well worth it; the video answered a tonne of questions.
Had issues using Firebase Realtime Database until this video. I enjoyed watching it and have been able to get proper understanding of its usage which I'll proceed further by reading the documentation. I also think making a longer in depth video like this one is much better than shorter videos.
I like this new presentation format and nicely explained. Thank you.
Glad you liked it!
make it longer, and cover more stuff. please!
this might be the best guide I've ever seen
This tutorial below my mind! Awesome work, Todd!!
To me one-hour is the sweet spot.
I really like this kind of videos. Very good explanation! Keep up the good work!
Finally some good realtime database tutorial ✊
Great video. I love how you include relevant use cases for your examples.
Very good video, it even answers one of my question on StackOverFlow about how to convert DataSnapshot to a Data model object !
Format is really nice, and explanations really clear, i was simply hoping you would cover the RTDB scaling / Sharding data but i guess this will be for another video 👌🏻
Ok now this video but for Firestore please!
Adding a section for best practices, really complex queries, best practices for common data structures (user-profiles, chats, foreign-key referencing, mapping/location, JSON maptype, timestamps, etc, etc)
Thanks for taking the time to make this video.
Glad it was helpful!
Nice. Many basic but certainly good things in this video.
The addition of the optional pattern designs was cool too.
One problem of this longer videos is that there is a greater probability of them being too (dated) specific to the software versions used in it, but i still think that it brings great value to the channel. Why worry for something that hasn't come yet? Nobody would do anything that way.
The ideal would be to keep the two formats (short and long videos).
And use them according to the occasion.
I really like this, basic but covered many important things.
This is great, love the long format
Best explanation on the Internet!!!
Thank you, Todd! Great tutorial! Great job!
Glad it was helpful!
Your Video is very helpful and very easy to understand thank you so much for this great video and explanation ❤❤
The getter 'snapshot' isn't defined for the type 'Event'. I keep getting this error with StreamBuilder
have you solve it?
YEP make LONGER btw love your explanations ❤❤❤❤❤❤
yes, make them longer and cover more stuff. with respect to your docs, this just seems better
In 26:13 I have an error when typing "final data = new Map.from(event.snapshot.value);" saying that The argument type 'Object?' can't be assigned to the parameter type 'Map How can I solve it please?
Me the same, do you already have a solution?
8:28 When you back these version, you can use it. I was using last version and get same error. I couldn't fix it so I change the version of firebase_core and firebase_database
Just use this
final data = Map.from(event.snapshot.value as Map);
Thank you, Tanika..you saved me a lot of time!
@@tanikagulati307 When I try to access data like shown above I get this error:
Expected a value of type 'String', but got one of type 'Null'
I can print data and I see the giant JSON object that I'm querying but I can't access any fields from my json object..
When is flutter web support coming for real-time database?
Much needed!!
Isn't it by now?
Min 25:50
I can't do that... it still gives me an error
The argument type 'Object?' can't be assigned to the parameter type 'Map'.
Instead of:
Map.from(snapshot.value);
Use this:
Map.from(snapshot.value as Map);
This will cast the Object into a Map
@@TheAhmed710 dayyyumn ,life saving!!!!
@@TheAhmed710 thanks! but when real time db is empty i got an error : type 'Null' is not a subtype of type 'Map' in type cast.
Exception is thrown anyway -> The argument type 'Object?' can't be assigned to the parameter type 'Map at line 25
Same problem I'm having
@@adelnehikhare4071 its outdate... flutter 2.5 came in spt
Flutter is only at its dawn imagine it in 3 years. Program a Space Rover
Excellent Tutorial!
Glad you liked it!
This was a fantastic video!
Thank you!
I learned so much here. Thank you
Glad it was helpful!
Is it just me that gets a lot of errors when trying to implement the exact same code in my apps ... ?
The videos are great, no doubt, but sometimes it just doesn't let me compile
I am struggling to retrieve the data from FB realtime database, always stuckup at Unhandled Exception: type 'List' is not a subtype of type 'Map'...kindly help
23:00 . it does not happen immediately. it takes 1 sec to replace the original text" results go here" with the downloaded string from realtime database. is there a way to show directly the downloaded string?
Thank you for the explanation sir
Amazing overview. Maybe give a warning about set() since it can wipe your entire DB if you don't know the difference between set() and update() yet :P
longer videos are needed!
amazing tutorial
Longer, more in depth videos!
Is any solution for write limit per second on Firestore (use Pub/Sub?)...The transaction 'batch' count 1 write on commit or N writes if the transaction contain N write operations? Thanks for the video!!
Great video, but I think there should be a link in the comments to the completed code project. Having to pause the video every few seconds to compare my code to yours is frustrating and frequently leads to long trips down the rabbit hole while I try to figure out what you've done that's just off the top or bottom of the video screen.
This is awesome!!!!!
type 'Null' is not a subtype of type 'String'
The relevant error-causing widget was
StreamBuilder
I get this error in stream buidler
What is the VSCode theme you are using?
what about how to integrate App check with flutter ?
This videa is amazing. Thank you
Very nice. Thank you :)
Welcome!
very helpful video ❤
Glad you think so!
love this video thank you
At 8 minutes in you reference another video "go watch that video now", but its not clear what video is being referenced?
Hi I need help . When I wrote one sentence for example name 1. Value ." I like football" I can see only one word "I" in my application how can I fix please
So which kind of way should I use to read the real time database, the Stream builder or the Provider way
In the stream publisher don't forget to create an empty list and check is the snapshot exists so it will not crash when there's no items in the database.
Example:
Map ordersMap = {};
if (event.snapshot.exists){
ordersMap = Map.from(event.snapshot.value);
}
Love it ✨👍
Thank you! 😊
Short and to the point thanks. 1 to 3 min max.
Is there a way to get a copy of the code?
Make it longer and cover more, the more the merrier
cool !!!
Great video
Good job!
I would like more in-depth videos, but it should be a series of videos. I don‘t like to open one video to see within the description the covered topics/areas. The video title should show the topics.
Thank u. I have one Question. When using push().set(), if I want to get added document key, what should I do?
final data = new Map.from(event.snapshot.value); return error The argument type 'Object?' can't be assigned to the parameter type 'Map, anyone know why?
I get the same error
[UPDATE] I fixed the problem in this way: (event.snapshot.value) as Map
the DataSnapshot object is severely underspecced, missing many methods in the official SDK like child(), hasChildren(), forEach()
Unhandled Exception: missingPluginException error on firebase_database
please need help its been a week having this problem
I have built a few streambuilders using this tutorial for guidance, but when the user hasn't yet entered the data that the stream takes, it returns the error type 'Null' is not a subtype of type 'Map', how to I get around this? All methods I have tried fail to stop this error.
@@chicagoworkscom I ended up using shared preferences to store a local int that tracked how many times data was stored (or removed) by the user, anything above zero and it would run the stream builder, other wise a placeholder image. The problem with your solutions is it comes back with a snapshot with some data, somehow. I would of imagined they would have a better solution to this and documentation to go with it. Was also frustrating how his example should of shown this problem when the database doesn't yet have data. Appreciate you looking into it! I have had so many issues with real time data base and how it works. getting there tho!
Can I use flutter with firebase sql instead of firebase NoSQL?
thank you !
Sir u told us one option of using futureBuilder.
Does it allow realte update on ui??
Love it
make it longer. please!
Why can't I choose another region for realtime db? region Australia is needed!
when I access orders/abc/price , does it load the other children of "abc" as well? or only orders the "price" child of "abc" ?
The Realtime Database loads the path you read from and the data under it, but not the data above it. So in your scenario it'll only load the price and not any other properties of `abc`.
When will be the flutter windows and linux support?
more the better
thanks a lott!!
Good to see this lesson
Thanks for watching
Is there a git repository for the project?
code for main dart is not clear
Hey! How to get the auto generated Unique-ID?
Hi! You can find information about how unique identifiers work through our Firebase blog here: firebase.blog/posts/2015/02/the-2120-ways-to-ensure-unique_68
outdated
Finally...
how to get the source code
get for ios returns all nodes , not the one that you are interested in. this is a bug .
why cant we use reference() now??
use .ref()
@@samorket8091 thx :)
Longer, more in depth videos
I thought Realtime was about to be discontinued in favor of Firestore?
Please make the videos short
40:00
3 hours should be the standard video duration.
// make long and detailed Videos
If(Video.long){
Video.better();
Video.wellDetailed();
}
TMI - I just needed to learn how to use firebase and flutter. Being experienced in firebase, I wasn't needing the intro.
final data=Map.from(event.snapshot.value); doesn’t work for me . It shows error: The argument type Object? can’t be assigned to the parameter type Map…. Any solutions?
Me too.
I tried this: final data = event.snapshot.value as Map; The compile error went away but it cashed with this: Unhandled Exception: type '_InternalLinkedHashMap' is not a subtype of type 'Map' in type cast.
Here you go. Change the firebase_database dependency from #^9.0.2 to 7.0.0.
firebase_database 8.2.0 works (released 8 days ago) 9.0.0 and higher does not (released 2 days ago, and 17 hours ago)
@@chuckh9857 i tried making it 7.0.0 and it ended up giving me errors ill try this thanks alot friend
Something has changed. If help to anyone will leave it here.
final data = event.snapshot.value as LinkedHashMap;
I get: Undefined name 'event', Try correcting the ...
Why event? Where is this come from?
Ok, i solved it like this:
final data = Map.from((snapshot.data! as DatabaseEvent).snapshot.value as Map);
@@lukasvonniederhausern6153 thanks sir, thats very helpful