🥇 Primera interacción con Mongoose.

Es muy sencillo conectarse a MongoDB utilizando Mongoose. PAra ilustrar esto, aquí hay un script que establece una conexión, crea una definición de un modelo, crea una nueva instancia de este y lo ingresa a la base de datos.

Para tener acceso a la libreria de Mongoose, hay que incluirlo primeramente en nuestro programa.

const mongoose = require('mongoose');

A diferencia del driver nativo, el cual require una cierta cantidad de líneas de código, Mongoose permite conectar a la base de datos en una sola línea. Las peticiones de Mongoose son puestas en el buffer, de tal forma que nohay necesidad de esperar para establecer una conexión (en el caso del driver nativo se require un callback). Para poder hacer esto solo hay que usar el método connect.

mongoose.connect('mongodb://localhost/test');

Ahora la fase de configuración y podemos crear un documento que representa una instancia particular del modelo libro.

let Libro = mongoose.model('Libro',{ name: String });
let miLibro = new Libro({ name: 'Mi Libro' });

miLibro.save((err, resuls) => {
    if(err){
        console.log(err);
        process.exit(1);
    }
    console.log('Documento almacenado', results);
    process.exit(0);
});

Mongoose esta provisto de varios métodos como validate, isNew, update entre otros. Estos aplican para un método particular y no para toda la colección o modelo. La diferencia entre documentos y modelos es que un documento es una instancia de un modelo, mientras que el modelo es algo abstracto.

Es como la colección real de MongoDB, pero esta soportada emdiante un esquema y es presentada como una clase de NodeJS con modelos extras y atributos. Estrictamente hablando, colecciones, modelos y documentos representan clases distintas en Mongoose.

Usualmente no utilizamos colecciones de Mongoose directamente, sino que manipulamos los datos via los modelos.

Para finalizar el script realizamos el guardado del documento en la base de datos utilizando el método save.

miLibro.save((err, results) => {
    if(err){
        console.error(err);
        process.exit(1);
    }
    console.log('Resultado', results);
    process.exit(0);
});
Instalación de Mongoose. Esquemas en Mongoose.
comments powered by Disqus