I recently changed jobs to join a startup. One of the many reasons why I took the job is the fact that the software is built with the MEAN stack stack – MongoDb, Express.js, AngularjS and Node.js. Prior to joining the company I had dabbled in each of the parts of the stack but I hadn’t used any of them on a ‘real’ project. So to reinforce what I’m learning during the day by using the MEAN stack to build an app to view the stats for the New York/San Francisco Giants. I thought I would share my experiences hopefully to help someone else who's learning the MEAN stack. This is the first post in a three part series that will walk you through building my app. The planned posts are:
Part 1 – The Data: Converts the MySQL data model to a suitable model for MongoDB.
Part 2 – The API: Building out a Node.js based API that will allow us to retrieve the stats.
Part 3 – The UI: Covers building out an AngularJS UI
Goal
The goal for this post is to have the data modeled and loaded into a MongoDB database so we can use it in the next post.
Setup
If you want to 'follow along' with this post you will need to download and install MongoDB and Node.js. Once you have installed mongo and node you can download the part 1 code. Keep in mind before you run the load scripts you will need to do install the node packages. To do that, simply change into the <YOUR CODE DIR>/post-1-the-data/scripts directory and run:
npm install
npm is the node package manager. The install option tells npm to read the package.json file and install any of the requirements that have not already been installed. If you plan on loading the Giants data I have already parsed out you are good to go. However if you want to start the from the beginning yourself you will need to download the data from the Baseball Databank project. The most up to date branch is the 2012update branch. After cloning the repository read the scripts/README.md and you will then be ready to generate your own Giants data or any other team’s data.
My Two Second MongoDB Introduction
Before I dive into the meat of the post I want to give you a very brief MongoDB intro. We will be storing data in collections, which are analogous with tables. Each collection will contain a document, which you can think of as a row in relational databases. As the NoSQL term implies we will not be using SQL to retrieve the data. Instead we will use javascript.
The Data
As a kid who grew up reading box scores every morning while I ate my breakfast I am very thankfully that there is an open source project out there dedicated to providing the statistics for Major League Baseball. It is distributed using 24 CSV files, each file maps to a MySQL table that was used to generate it. All 24 data files either describe a manager, player or a team. So as we build out the database we will create and load three collections: managers, players, and seasons.
Each collection will house documents that have been designed so that one document will represent one player, one manager or one season. This will make our development of the API much easier. For the most part one call should retrieve everything we need. To give you an idea of what type of data the documents will contain I’ve created a map between the collections and files. Remember each file is a table in the Baseball Databank database. In some cases you’d have to write some pretty complicated joins to get the data. In Mongo, our queries will be straight forward.
Managers Collection (4 tables) => AwardsManagers, Managers, ManagersHalf, Master
The Players Collection (11 tables) => AllStars, Appearances, AwardsPlayers, Batting, BattingPost, Fielding, FieldingPost, Master, Pitching, PitchingPost, Salaries
The Seasons Collection (3 tables) => SeriesPost, Teams, TeamsHalf
If you’d like a description of the tables checkout the Baseball Databank README
The MongoDB Side
For the rest of this post I am going to walk you through an example of a document that is stored in each collection. The description will also have examples of how to retrieve the data from the mongo console app. We will start with the simplest of the collections, the managers.
Managers
Any manager that has managed at least a game for either the New York or San Francisco Giants will have a document in this collection. A managers document has demographic information,, managerial record plus any awards they may have won. Our managerial document example is Rogers Hornsby’s. He managed the New York Giants in 1927.
The first property of the document is the _id property. By default each record would have an _id field that is a randomly generated ObjectID created by mongoDB during the insert. Here's what an ObjectID looks like
ObjectId("528398bb3b06760000000004")In some cases that may work fine but for this collection I am using the baseball databank managerID value. This allows me to take advantage of the built in unique constraint on the _id index. The documents properties are self explanatory however I would like to discuss the record properties.
The record property is an array of JSON objects. Each entry in the array represents a full or partial season with the Giants. Since Hornsby only managed part of one season for the Giants he only has one item in the array. You can think of the entries in the record array as a row in a record table in a relational database. Using an array allows you to keep all data related to managers in one document making it easy to retrieve all of the manager's data when needed. We will make use of arrays in all of our documents. If the Giants had made it to the playoffs or if Hornsby had won any managerial awards his document would have two more array properties, playoffs and awards.
You may have not caught that last bit but documents in the same collection do not have to have the same properties. In all of our collections the documents will have about 95% of the properties in common. I will show you how we can check for the existence of a property when querying the database in a bit. Stay tuned.
You might be wondering how I retrieved the Hornsby document. Let me walk you through the queries I used.
At a command prompt fire up the mongo client by running:
mongo giants
This will connect you to a local instance of mongodb and switch you into the giants database. You could run just mongo to connect and the use giants at the mongo prompt to do the same thing. For more options read the mongo shell documentation.
Now that I'm in the giants database I can retrieve the Hornsby document by running:
db.managers.find( { nameLast: 'Hornsby' }).pretty()
What the query says is in the current database search the managers collection for a document that has a nameLast property equal to 'Hornsby'. The find
call will return an array containing all of the documents that match our query. The pretty function formats the results of the find in a more human readable fashion. Try the find
call with and without the pretty and you will see what I mean.
If you look closely at the Hornsby document you will see in the record array his only entry has the inseason property set to 2. This means there was at least two managers for the 1927 Giants. To find out who the other managers there were we can run the following query.
db.managers.find( { 'record.yearID' : 1927} )
This will return two documents one for John McGraw and one for Hornsby. Look closely at the query and your will see that I'm using a 'dot notiatiod' to find the managers for the 1927 season. Like the previous find it will return an array of matching documents. Unlike the previous query this one looks inside of the record array. Each document within the record array will have its yearID property compared to 1927. If it has one entry with that yearID then the document will be returned. Going back to my analogy of each entry in the record array being equal to a row in a relation database table you can almost thing of the dot notation as a join. One thing to keep in mind is whenever you use dot notation you must quote the property like I have done. Failure to do so will cause an error from mongoDB.
Remember I said I would show you how to test for the existence of a property? We will get a count of all the managers who have the playoffs property in their document.
db.managers.find({playoffs: {$exists:true}}).count()
This query simply says, find all the documents in managers that have the playoffs property. I am using $exists which is one of the built in query operators. To see what other operators are available checkout the MongoDB Operators page.
The last bit of work I need to do is to setup the indexes on the managers collection. Since most of the queries I run will be on either the last name or to look for a particular season I will add an index on nameLast and record.yearID. Here’s how to create an index in mongo:
db.managers.ensureIndex({ nameLast:1 }) db.managers.ensureIndex({ ‘record.yearID’:1})
These two calls create two separate indexes on the nameLast and record.yearID properties. Notice that I can use the dot notation when declaring an index also. The 1 indicates that we want the index created using ascending ordering. To create an index that uses the descending order swap out the 1 for a -1. Now our managers collection has three indexes: one on the _id property, one on the nameLast property and one on the record.yearID property. To see what indexes are on a collection you can run:
db.managers.getIndexes();
For more information on ensureIndex and getIndexes visit: http://docs.mongodb.org/manual/reference/method/db.collection.ensureIndex/ http://docs.mongodb.org/manual/reference/method/db.collection.getIndexes/
Players
Just like the managers, every player that has stepped onto the diamond in a New York or San Francisco Giants uniform will have a document in this collection. A player’s document will contain demographics, statistics, and appearances. If the player has been an all-star, won an award or has been inducted into the hall of fame his document will have additional properties. Below is the document for Eddie ‘Hotshot’ Mayo who played for the New York Giants in 1936.
The players document is considerably larger than the managers document is. The reason for that is I chose this design was it allows me to retrieve the Giants history of a player with a single query. Even though I've chosen a player centric design it is still relatively easy to find roster related information. As an example lets say we want to see who else played third for the Giants during the 1936 season. I could run the following query:
The query returns a total of four documents, four full player documents which makes it a little hard to read the names of the players. All I really want to see is the nameLast, nameFirst and the value fiendingStats.G for the players who played third. I can convert the output to only contain the values I've indicated by using a projection. I am also changing the names of the properties to something I find a little nicer to read. Now when I run the query I should have four much easier to read results. The updated query and results are below.
That returns the following:
Now that we have the data in a readable layout I would like to sort the players so that the man who played the most games at third will be listed first. Sorting is as easy as adding the $sort operator. Here's what the query looks like with the sort call added.
Notice that I used the new name that I created in the $project call. The -1 indicates we want to sort the games in a descending fashion. The results of the updated query are below.
If you’ve been paying attention you noticed that I was using a function called aggregate instead of find. The aggregate function allows us to chain commands together. We can use the aggreation pipeline to ‘filter’ our data. It works by passing the results from one task to another as illustrated in the $project and $sort calls. I used $project to rename the fieldingStats.G property to just games. I then used the new name, games, to sort by. Let’s walk through the last query to get a better picture of whats going on.
$unwind
{ $unwind : "$fieldingStats" },
What $unwind does is create a new document or each member of an array. That means a copy of the demographics is put together with each entry in the fieldingStats array. So if a player has 10 entries there will be 10 documents with the same demographic information. Each document will have a single entry in the fieldingStats directory. I chose the fieldingStats property to $unwind on because I am only interested in third basemen. Notice that fieldingStats has a $ in front of it. Remember, that means that you want to use the value of the $fieldingStats property in the command. If I executed the query now with only the $unwind call I would receive the following message.
aggregation result exceeds maximum document size (16MB)
The message brings up one thing I haven't mentioned yet and that is all documents must be less than 16MB in size. Remember the unwind creates many new documents. The players collection has 1675 documents in it, if each player has 5 years worth of stats for 3 different positions, you can see how the size of the result set will increase. Thankfully, in my case I'm filtering the results of the $unwind call down so the 16MB limit is not a problem for me. In my three months of working in MongoDB I have yet to have the size limit cause any issues for me.
$match
{ $match : {"fieldingStats.POS": "3B", "fieldingStats.yearID" : 1936 }},
The output of the $unwind call are passed as to the $match call as input. $match searches the input documents looking for documents that match the given parameters. In this case anyone who played third base during the 1936 season will be returned. The number of documents have gone from the thousands to four. The four complete players documents are passed the $project operator.
$project
{ $project : { _id : "$_id", lastName : "$nameLast", firstName : "$nameFirst", games : "$fieldingStats.G"}}
I've already gone over what the $project call does so I won't go into it again.
$sort
{ $sort : { games: -1 } }
Since I have already gone over the $sort call, I won't do it again here.
Indexes
There will be a few more player API calls so I am going to create a few more ensureIndex calls. Here are the players collection indexes.
Seasons
Each season the New York/San Francisco Giants have played in professional baseball is represented by a document in the seasons collection.
Each document in the collection will have the team’s regular and playoffseason records, team statistics, the roster, and list of managers.
The document below represents the 2012 season when the Giants won their second World Series championship in 3 years.
To get the 2012 season document I used another select function, findOne. It is similar to find but it only returns a single object. In cases where there are more than one matching document findOne will return the first document found in the ‘natural order’, it will return the first one stored on disk.
The seasons document is similar to the players and managers document in that it has a ‘core’ set of data that pertains the team’s season plus arrays that store information about the players who were on the team that year as well as the managers.
For the seasons collection I will add the indexes below. The API will make use of these indexes as you’ll see in the next post.
Summary
I have taken the data from 18 database tables and stored them in three different collections in my MongoDB database. The new schema will allow us to make the fewest calls to the database when retrieving player, managerial or season related data. Throughout the post I showed you how to run select statements in the mongo client using find, findOne and the aggregation pipeline. I this post helped illustrate some ways that MongoDB can be used to store data in ways that makes using the data easier.
Resources
- MongoDB: http://www.mongodb.org/downloads
- Node.js: http://nodejs.org/
- MySQL: http://dev.mysql.com/downloads/
- Data: https://github.com/chadwickbureau/baseballdatabank (I’m using the 2012update branch)
- My Code: https://github.com/rippinrobr/mean-blog-series (includes loading scripts and mongodb ‘dump’)
MongoDB Doc Links
- http://docs.mongodb.org/manual/reference/aggregation/
- http://docs.mongodb.org/manual/reference/method/db.collection.ensureIndex/
- http://docs.mongodb.org/manual/reference/method/db.collection.getIndexes/
- http://docs.mongodb.org/manual/reference/method/db.collection.find/
- http://docs.mongodb.org/manual/reference/method/db.collection.findOne/
- http://docs.mongodb.org/manual/reference/operator/aggregation/match/
- http://docs.mongodb.org/manual/reference/operator/aggregation/project/
- http://docs.mongodb.org/manual/reference/operator/aggregation/unwind/
Super like (Y)
ReplyDeleteJavaScript Training Courses | Javascript Online Training | Angular 2 Online Training
ReplyDeleteJavaScript Online Training | HTML5 Online Training JQuery Online Training JQuery Online Training Javascript Online Training
MEAN Developer Training in Chennai MEAN Developer Training in Chennai JavaScript Training in CHennai
ReplyDeleteJQuery Training in Chennai JQuery Training in Chennai HTML5 Training in Chennai HTML5 Training in Chennai JavaScript Training in Chennai JavaScript Training in Chennai
Its really useful detail about Mean stack. Thanks for this information. Best Mean Stack Training in Bangalore
ReplyDeleteIts very valuable information about Mean stack. Thanks for sharing this.
ReplyDeleteBest Meanstack Training in Hyderabad
very useful blog to learner so happy to be part in this blog. Thank you
ReplyDeleteMeasntack training in hyderabad
Enroll now
Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
ReplyDeleteMean Stack Training in Bangalore
The Best of the MEAN Stack Blogs You have Mentioned here.
ReplyDeleteMEAN stack Online Training
Thanks For Your valuable posting, it was very informative...
ReplyDeleteNode js Development
This is quite educational arrange. It has famous breeding about what I rarity to vouch. Colossal proverb. This trumpet is a famous tone to nab to troths. Congratulations on a career well achieved. This arrange is synchronous s informative impolite festivity to pity. I appreciated what you ok extremely here.
ReplyDeletepython Training institute in Pune
python Training institute in Chennai
python Training institute in Bangalore
ReplyDeleteI appreciate that you produced this wonderful article to help us get more knowledge about this topic.
I know, it is not an easy task to write such a big article in one day, I've tried that and I've failed. But, here you are, trying the big task and finishing it off and getting good comments and ratings. That is one hell of a job done!
Selenium training in bangalore
Selenium training in Chennai
Selenium training in Bangalore
Selenium training in Pune
Selenium Online training
I found this informative and interesting blog so i think so its very useful and knowledge able.I would like to thank you for the efforts you have made in writing this article.
ReplyDeleteData Science Training in Indira nagar
Data Science Training in btm layout
Data Science Training in Kalyan nagar
Data Science training in Indira nagar
Data science training in bangalore
I would like more information about this, because it is very nice...Thanks for sharing. Thanks a lot
ReplyDeleteAnika Digital Media
seo services
web design development
Thank you so much for sharing this great information with us.
ReplyDeleteMEAN Stack Training
MEAN Stack Online Training
I think this is a great site to post and I have read most of contents and I found it useful for my Career .Thanks for the useful information. Good work.Keep going.
ReplyDeletemobile service center in velacherry
mobile service center in vadapalani
mobile service center in porur
Its a wonderful post and very helpful, thanks for all this information.
ReplyDeleteJavascript Training institute in Noida
Attend The Python training in bangalore From ExcelR. Practical Python training in bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python training in bangalore.
ReplyDeletepython training in bangalore
Pada saat menjalankan permainan judi dominoqq online anda diharuskan untuk menentukan pilihan meja
ReplyDeleteasikqq
dewaqq
sumoqq
interqq
pionpoker
bandar ceme terpercaya
hobiqq
paito warna terlengkap
bocoran sgp
This comment has been removed by the author.
ReplyDeleteGood Post Thanks for sharing this blog. Keep on sharing
ReplyDeleteFull Stack online Training
Full Stack Training
Full Stack Developer Online Training
Full Stack Training in Hyderabad
Full Stack Training in Ameerpet
Full Stack Training Institute
Thank you for sharing and its was great usefull to me
ReplyDeleteMeanstack Training in Hyderabad
Meanstack Online Training in Hyderabad
Your info is really amazing with impressive content..Excellent blog with informative concept. Really I feel happy to see this useful blog, Thanks for sharing such a nice blog..
ReplyDeleteIf you are looking for any python Related information please visit our website Python classes in pune page!
Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving.sap s4 hana simple finance training in bangalore
ReplyDeleteLinking is very useful thing.you have really helped lots of people who visit blog and provide them use full information.javascript training in bangalore
ReplyDelete
ReplyDeleteThank you for sharing very useful information...
Mean stack online training
Mean stack training in hyderabad
Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
ReplyDeletedata analytics courses
data science courses
business analytics course
Thanks for sharing valuable information.
ReplyDeletemachine learning training in Bangalore
Attend The Business Analytics Courses From ExcelR. Practical Business Analytics Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Business Analytics Courses.
ReplyDeleteExcelR Business Analytics Courses
Data Science Interview Questions
I finally found great post here.I will get back here. I just added your blog to my bookmark sites. thanks.Quality posts is the crucial to invite the visitors to visit the web page, that's what this web page is providing.
ReplyDeleteExcelR data analytics courses
ExcelR data Science course in Mumbai
data science interview questions
business analytics courses
This is a very excellent post..
ReplyDeleteThanks for sharing with us,
We are again come on your website,
Thanks and good day,
If you need any logo then,
Please visit our site,
buylogo
Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
ReplyDeletedata science courses in pune
Thanks for sharing this useful article.
ReplyDeleteArtificial Intelligence course in Bangalore
Artificial Intelligence Training in Bangalore
Artificial Intelligence course in India
Artificial Intelligence training
The Blog is really very interesting every concept should be very neatly represented.
ReplyDeleteData Science Training Course In Chennai | Data Science Training Course In Anna Nagar | Data Science Training Course In OMR | Data Science Training Course In Porur | Data Science Training Course In Tambaram | Data Science Training Course In Velachery
After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article.
ReplyDeleteSimple Linear Regression
Great post i must say and thanks for the information.
ReplyDeleteData Science Course in Hyderabad
This post is very simple to read and appreciate without leaving any details out. Great work!
ReplyDelete360digitmg ai training
interesting piece of information, I had come to know about your web-page from my friend, i have read atleast eight posts of yours by now, and let me tell you, your blog gives the best and the most interesting information. This is just the kind of information that i had been looking for, i'm already your rss reader now and i would regularly watch out for the new posts, once again hats off to you! Thanks a million once again, Regards,
ReplyDeleteSalesforce Training in Chennai | Certification | Online Course | Salesforce Training in Bangalore | Certification | Online Course | Salesforce Training in Hyderabad | Certification | Online Course | Salesforce Training in Pune | Certification | Online Course | Salesforce Online Training | Salesforce Training
This is quite educational arrange. It has famous breeding about what I rarity to vouch. Colossal proverb. This trumpet is a famous tone to nab to troths. Congratulations on a career well achieved.
ReplyDeleteweb designing training in chennai
web designing training in omr
digital marketing training in chennai
digital marketing training in omr
rpa training in chennai
rpa training in omr
tally training in chennai
tally training in omr
Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog.
ReplyDeleteweb designing training in chennai
web designing training in tambaram
digital marketing training in chennai
digital marketing training in tambaram
rpa training in chennai
rpa training in tambaram
tally training in chennai
tally training in tambaram
ReplyDeleteReally nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing
data scientist course
Thanks for your informative article,Your post helped me to understand the future and career prospects &Keep on updating your blog with such awesome article.
ReplyDeleteoracle training in chennai
oracle training in porur
oracle dba training in chennai
oracle dba training in porur
ccna training in chennai
ccna training in porur
seo training in chennai
seo training in porur
Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing
ReplyDeleteAWS training in Chennai
AWS Online Training in Chennai
AWS training in Bangalore
AWS training in Hyderabad
AWS training in Coimbatore
AWS training
Excellent post. I learned a lot from this blog and I suggest my friends to visit your blog to learn new concept about technology.Best data science courses in hyerabad
ReplyDeletewonderful article. I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries. data science courses
ReplyDeleteI curious more interest in some of them hope you will give more information on this topics in your next articles.
ReplyDeletedata science training in Hyderabad
Nice post.Check this machine learning training in bangalore
ReplyDeleteThanks for sharing the Great Content. Excellent information you've provided.salesforce training in chennai
ReplyDeletesoftware testing training in chennai
robotic process automation rpa training in chennai
blockchain training in chennai
devops training in chennai
Much thanks for composing such an intriguing article on this point. This has truly made me think and I plan to peruse more ExcelR Business Analytics Courses
ReplyDeleteGreat Content. It will useful for knowledge seekers. Keep sharing your knowledge through this kind of article.
ReplyDeleteMean Stack Training in Chennai
React JS Training in Chennai
AI Patasala is the most rumoured Python Training in Hyderabad developed to help you advance your career with a massive increase in the latest technology.
ReplyDeletePython Course in Hyderabad
Thanks for posting the best information and the blog is very good and the blog is very good.data science training in udaipur
ReplyDeleteThanks for this blog keep sharing your thoughts like this...
ReplyDeleteMean Stack Training in Chennai
Mean Stack Course in Chennai
Smm panel
ReplyDeleteSmm panel
iş ilanları
instagram takipçi satın al
Hirdavatci Burada
beyazesyateknikservisi.com.tr
Servis
Jeton hile indir
I'm really excited to follow your journey into the MEAN stack! Your plan to build a New York/San Francisco Giants stats app sounds engaging and informative. Looking forward to Part 2 and Part 3. Best of luck! 🚀
ReplyDeleteData Analytics Courses in India
It's interesting to observe your progression across the MEAN stack, from discrete components to a coherent app. I'm sure that other students like me will gain from the way you share your experiences. Interested in your next blogs! 🚀
ReplyDeleteData Analytics Courses in India
I can't wait to follow you as you navigate the MEAN stack! I'm fascinated by MongoDB's adaptability and am looking forward to seeing how you convert MySQL data for MongoDB. awaiting the forthcoming API and UI elements with anticipation. I wish you luck! Data Analytics Courses in India
ReplyDeleteHello,
ReplyDeleteThis post provides a comprehensive introduction to setting up MongoDB collections for baseball statistics using the MEAN stack. It covers data modeling, querying, and indexing, making it a valuable resource for anyone learning MongoDB and MEAN stack development.
Data Analytics Courses in Nashik
Hi,
ReplyDeleteThis article provides an insightful introduction to using the MEAN stack for building a baseball statistics app. It discusses data modeling and demonstrates querying techniques. Great educational resource indeed.
Is iim skills fake?
Such a nice article. Thank you for sharing with us.
ReplyDeleteData Analytics Courses in Agra
I appreciate your efforts in breaking down complex concepts into easily understandable pieces, making it easier for aspiring developers to grasp the fundamentals of MEAN stack development. Keep up the good work.
ReplyDeleteData Analytics Courses In Chennai
nice blog
ReplyDeleteData Analytics Courses In Vadodara
good blog
ReplyDeleteData Analytics Courses In Vadodara
This 'Intro to the MEAN Stack - Part 1' article provides a solid foundation for understanding the core data components of the MEAN Stack.
ReplyDeleteDigital Marketing Courses in Hamburg
Thank you for sharing valuable information, and your blog is excellent.
ReplyDeletedata Analytics courses in leeds
Thank you for sharing valuable information in your blog. It's greatly appreciated, and your blog is of excellent quality.
ReplyDeletedata Analytics courses in leeds
A well-explained introduction to the significance of data in the MEAN Stack. Looking forward to diving deeper into the components and functionalities in the upcoming parts. Thanks for sharing this informative piece!"
ReplyDeleteDigital marketing courses in woking
I found your introduction on MEAN stack's data component very informative and insightful.
ReplyDeleteDigital Marketing Courses in Italy
"Great overview of the MEAN Stack! I appreciate the clear explanations on MongoDB, Express.js, Angular, and Node.js. Looking forward to the upcoming parts to delve deeper into each component. How does the MEAN Stack handle data storage and retrieval? Any particular challenges one might face when getting started? Thanks for breaking it down!"
ReplyDeleteBest Data analytics courses in India
such a great blog post, very well explained
ReplyDeleteDigital marketing business
Thank you for sharing your insightful journey into the MEAN stack! Your detailed post is truly enriching.
ReplyDeleteInvestment Banking Industry
Fantastic article. Thanks for the really well thought out guide, code and links. Great share.
ReplyDeleteInvestment banking analyst jobs
Part 1 of the blog series focuses on "The Data," suggesting a detailed exploration of MongoDB, a NoSQL database. Stay tuned for insights into data storage. nice work. keep posting.
ReplyDeleteData analytics framework
Loved the way you have the codes setup for the article which readers can specifically take out according to his or her needs thank you.
ReplyDeleteData science courses in Ghana
I really enjoyed reading this introductory post on the MEAN stack! The step-by-step approach to transitioning from MySQL to MongoDB for managing baseball stats is both informative and practical. I appreciate the clarity with which you've outlined the goals and setup, particularly for those new to MongoDB and Node.js.
ReplyDeleteThe explanation of MongoDB’s data model, especially the comparison between collections and relational database tables, is a great starting point for understanding how NoSQL differs from SQL. Your example of the managers collection, including the breakdown of documents and the way they map from CSV files, was particularly helpful.
I’m looking forward to the next parts of the series. The detailed approach and real-world application you're providing will surely help others who are learning the MEAN stack. Keep up the great work!
I really enjoyed this article! It’s packed with great information and written in a way that’s easy to follow, even for someone new to the topic. I’m sure many readers will benefit from this. Thanks for creating such a detailed and practical guide.
ReplyDeleteData Analytics Courses in Delhi
This comment has been removed by the author.
ReplyDeleteGot it! Here's the blog-style comment for the MEAN stack post:
ReplyDelete---
Great introduction to the MEAN stack! It’s awesome that you're diving into each component of the stack—MongoDB, Express.js, AngularJS, and Node.js. The MEAN stack offers a powerful way to build full-stack JavaScript applications, and it’s especially useful for startups looking to scale quickly. Using MongoDB for the database is a huge advantage since it stores data in a format that integrates seamlessly with JavaScript, making development more fluid.
Your approach to building an app to track Giants stats is a perfect hands-on way to solidify the concepts. I’m looking forward to reading more about your experiences with Express and Angular in the next parts of the series. Keep up the great work, and thanks for sharing your journey with the MEAN stack—it's sure to help others looking to learn this powerful tech stack!
Data Science Courses In Malviya Nagar
Great introduction to the MEAN stack! Your breakdown of the data aspect is clear and engaging. It's inspiring to see such foundational knowledge shared. Keep up the excellent work—can't wait for Part 2!
ReplyDeleteData Science Courses in Singapore
This blog post offers a great introduction to using the MEAN stack, especially for those transitioning from other stacks or starting fresh. The author provides a clear roadmap for building an app using MongoDB, Express.js, AngularJS, and Node.js. Part 1 focuses on converting a MySQL data model to MongoDB, with easy-to-follow steps and practical advice for setup and data handling. The explanations of collections, documents, and how MongoDB operates are concise and helpful for beginners. Overall, it's a well-structured guide that makes learning the MEAN stack approachable and enjoyable
ReplyDeletedata analytics courses in dubai
ReplyDeleteThis is a fantastic introduction to the MEAN stack! Breaking down the data layer so clearly helps demystify the stack for newcomers.
Data science courses in Bhutan
Very interesting to read. Liked reading the contents. It was very informative. Thanks for sharing.
ReplyDeleteData science courses in Kochi
"I just learned about the Data Science Course in Dadar, and I’m impressed!
ReplyDeleteThe detailed curriculum seems well-rounded and relevant.
I’m particularly interested in the hands-on projects highlighted.
This could be a great way to enhance my data science skills.
I can’t wait to find out more about registration!"
I am glad to see such an interesting blog.
ReplyDeleteData science courses in Mysore
"I took IIM Skills’ Data science while living in Mumbai, and it has been fantastic. The online format fits seamlessly into my schedule."
ReplyDelete#Data science in mumbai
Data Science courses have introduced so much in the market and are helpful to the students or audiences working in data science programs.
ReplyDeleteThank you for it.
Data science Courses in Germany
It’s great to see local options for learning data science in Iraq. Whether you're looking to improve your skills or break into the field, these courses offer valuable learning experiences without having to travel abroad. Take a look at the full list of courses here and see which one fits your career goals!
ReplyDeleteThis is a fantastic introduction to the MEAN stack! You’ve done a great job breaking down the components, starting with data handling, and making it easy for beginners to understand how the stack works together. The clear explanations and practical examples are really helpful for anyone looking to dive into full-stack JavaScript development. Thanks for sharing this informative post.
ReplyDeleteData science course in Gurgaon
This post offers a simple and clear introduction to the MEAN stack, especially focusing on data handling with MongoDB. A great starting point for beginners!
ReplyDeleteData science course in Gurgaon
Thank you for the useful insight! Your introduction to the MEAN stack is a great starting point, and the clear explanation of data handling in Part 1 sets a solid foundation for anyone looking to dive into full-stack development.
ReplyDeleteData science course in Lucknow
This is such an insightful piece! I’d love to see you dive deeper into such topics in future posts
ReplyDeleteHow Data Science Helps In The Stock Market
You’ve done a fantastic job of explaining a complex topic with simplicity and precision. I learned so much from this post
ReplyDeleteData science courses in Bangalore
Great introduction to the MEAN stack! I really appreciated the clear explanation of how MongoDB handles data.looking forward for part 2.
ReplyDeleteData science course in Bangalore
Such a amazing Blog ! Thank you.
ReplyDeleteDigital marketing courses in mumbai
You’ve done a great job simplifying Mean Stack. I feel more confident about applying these tips now. Thanks for the detailed guide.
ReplyDeleteData Science Courses in China
This was such an informative post! I learned so much, and I really appreciate the insights you shared. Keep up the great work!
ReplyDeleteGST Course
I really enjoyed reading it. The insights you shared were both informative and thought-provoking. I especially appreciated [mention a specific point or idea from the post]. It’s clear that a lot of effort went into this, and I look forward to reading more of your content in the future. Keep up the fantastic work.
ReplyDeleteIIM SKILLS Data Science Course Reviews
Fantastic post! You’ve done an excellent job introducing the MEAN stack and focusing on the data aspect in this first part of the series. The clear breakdown of MongoDB and how it fits into the MEAN stack really helps set a solid foundation for understanding the full stack. I appreciate the practical approach you’ve taken, showing how to manage data efficiently and prepare for the next steps in the stack. Looking forward to the next parts of this series! Keep up the great work!
ReplyDeleteData Science Courses in Rwanda
This is a great introduction to the MEAN stack and MongoDB. Breaking down the process into manageable steps—setting up the data, building the API, and then the UI—makes it easy to follow. The explanation of how the data is structured and the simplicity of MongoDB queries compared to SQL joins is very helpful. Looking forward to the next parts! Investment Banking Course
ReplyDelete"The tutorial provides a solid introduction to the MEAN stack, focusing on the data layer, and is a great starting point for developers looking to build dynamic web applications using MongoDB, Express, Angular, and Node.js."Data Science Courses in Uzbekistan
ReplyDelete