Free MongoDB Training Free MongoDB Training / tutorial / free

10gen Education is an online learning platform run by 10gen (the MongoDB company) available to anyone in the world with an internet connection. Our free courses will teach you how to develop for and administer MongoDB quickly and efficiently.
1 favorite
submitted over 5 years ago, anonymously
Free MongoDB Training popular tutorial



I'm 2 weeks into this and I absolutely love it. Very easy to learn with the quizes and homework to practice with. Brillant!

SkinnyGeek1010, over 5 years ago


So this is probably a dumb question but, what is the benefit of MongoDB? I realize its NoSQL, which I don't know too much about anyway, but it was my impression that mongodb was mainly used on prototyping or quick development apps, but not in full-scale production apps. After seeing how many large web-app companies use mongodb, I see that is a gross misconception... would you mind explaining why one might choose mongodb over tried and true like mysql?

arbor, over 5 years ago


Nah no dumb questions! I think at the end of the day, a big part of it's popularity is because 10gen is corporately backing it, it's easy for devs to use, and can scale easier/faster (cheaper) than a relational database.

On the dev side, it behaves much like a large JSON object. This makes it easy to query, and insert data. You can also use arrays as a value, and you can nest objects as a value. This means you could do something like db.users.find( {type : "admin"} ).sort({"age": -1}).limit(20); to return the 20 oldest admin users. The lack of a solid schema can be nice too. If you're using a full stack JS thing like Meteor, JS throughout can be nice (or awful, depending lol). You can also run javascript inside the database for loops and such, but I haven't used that yet, I don't think that's very common.

On the ops side, from what an engineer at 10gen told me, MySQL can do anything mongodb can do, but it does a lot of "things" automatically (which is cheaper, easier) when scaling to multiple databases. Things like sharding, replication sets, and such. On "web scale" i've heard that cassandra does this better, but is harder to setup.

There are also cons, like data duplication, but some companies like craigslist get around it by using something like ZFS with compression to eliminate the boat. For ex: a record may look like
{_id: 2323, name: {first:"bob", last: "doe"} , height: 6.0, position: ["sales","support"] }
so the repeated keys and values can add up without compression (not natively compressed yet).

SkinnyGeek1010, over 5 years ago

Login or to comment.

Tutorials are any resources you learn from.

Examples: an intro to html5 screencast, a pdf about git, photoshop effects tutorials, meta-programming in ruby, lambda calculus, higher-order fixed-point combinators.

Tools are websites, apps or services used -on- your project (indirectly), to aid the process.

Examples: A color scheme generator, email marketing software, usability heat maps, css3 code generators, a downloadable png compressor.

Assets are downloadable files used -in- your projects, usually as code, textures, or images.

Examples: a jquery sticky menu, photoshop brushes, background textures, mvc frameworks, twitter bootstrap, 960 grid system.