While working directly with the
mongodb module is great, it's also a bit raw and lacks any sense of developer friendliness that we've come to expect working with frameworks such as Express in Node.js. Mongoose is a great third-party framework that makes working with MongoDB a breeze. Mongoose is an elegant
mongodb object modeling for Node.js.
What that basically means is that Mongoose gives us the power to organize our database by using schemas (also known as model definitions) and providing powerful features to our models such as validation, virtual properties, and more. Mongoose is a great tool as it makes working with collections and documents in MongoDB feel much more elegant. The original
mongodb module is a dependency of Mongoose, so you can think of Mongoose as being a wrapper on top of
mongodb much like Express is a wrapper on top of Node.js—both abstract away a lot of the "raw" feeling and give you easier tools to work with directly.
It's important to note that...