¿Para qué se utiliza la librería Mongoose de Nodejs?
Mongoose es una librería object-document mapping (ODM) para MongoDB. Las ventajas de utilizar un ODM son muchas y van mas allá de la organización del código o del desarrollo sencillo.
Mongoose abstrae todo de la base de datos, y el código de la aplicación interactúa solo con los objetos y sus métodos. Los ODM también permiten especificar las relaciones entre diferentes tipos de objectos y poner sobre estos lógica dentro de clases.
Además, Mongoose posee un sistema de validación y de tipado que puede ser extendido y personalizado acorde a sus necesidades. Cuando se usa en conjunto con Express.js, Mongoose convierte este conjunto en uno orientado al concepto de MVC (Modelo Vista Controlador).
Mongoose utiliza una interface similar a la de la shell de Mongo, el driver nativo de Mongo, y Mongoskin. Por esta razón, las funciones principales como find(), update(), insert(), save(), remove(), etc, lucen y actúan de una forma similar, lo que permite aprender Mongoose y empezarlo a utilizar con mayor sencillez y rapidez.