API de documento de mangosta

Los documentos Mongoose corresponden a documentos MongoDB en una relación uno a uno. Un documento mangosta es básicamente una instancia de un modelo.

Primero debe instalar el módulo mongoose:

Paso 1: debe visitar el módulo de enlace mangosta. Puedes instalarlo usando este comando.

npm install mongoose

Paso 2: después de eso, cree una carpeta y también cree un archivo en esa carpeta, por ejemplo, index.js , para ejecutar el archivo usando este comando.

node index.js

Paso 3: No olvide iniciar el servidor MongoDB en otra pestaña de terminal usando este comando.

mongod

Ahora, veamos cómo funciona:

1. Creación de un nuevo documento: para crear un nuevo documento, debe crear un modelo de mangosta y, luego, con ese modelo, puede crear un nuevo documento. Y para guardarlo en la base de datos, debe usar el método save() para guardar un documento o el método insertMany() para insertar varios documentos.

Ejemplo: En el siguiente ejemplo, vamos a crear un nuevo documento. Abra el archivo index.js y escriba el siguiente código:

Javascript

const mongoose = require("mongoose");
 
// Database connection
mongoose.connect("mongodb://127.0.0.1:27017/geeksforgeeks", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
 
// User model
const User = mongoose.model("User", {
    name: { type: String },
    age: { type: Number },
});
 
// Creating a new dummy user document
const newUser = new User({
    name: "Ayush",
    age: 20,
});
 
// Save it to the database
newUser.save((err, res) => {
    if (err) return handleError(err);
    else return console.log("Result: ", res)
});
 
// For inserting multiple documents
User.insertMany(
    [
        {
            name: "Rishu",
            age: 21,
        },
        {
            name: "Megha",
            age: 24,
        },
        {
            name: "Aman",
            age: 16,
        },
        {
            name: "Riya",
            age: 18,
        },
    ],
    (err, res) => {
        if (err) return handleError(err);
        else return console.log("Result: ", res)
    }
);

Pasos para ejecutar la aplicación: escriba el siguiente código en la terminal para ejecutar el servidor:

node index.js

Producción: 

crear salida de terminal de usuario

Arriba están los datos de muestra en la base de datos después de ejecutar la función . Puede usar la brújula o terminal MongoDB para ver la base de datos:

Datos de salida de la brújula Mongo

2. Recuperación de documentos: Para recuperar un documento necesitamos usar el método findOne() . Toma condiciones como parámetro, lo cual es absolutamente opcional.

Ejemplo: En el siguiente ejemplo, vamos a recuperar documentos. Abra el archivo index.js y escriba el siguiente código:

Javascript

const mongoose = require('mongoose');
 
// Database connection
mongoose.connect('mongodb://127.0.0.1:27017/geeksforgeeks', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});
 
// User model
const User = mongoose.model('User', {
    name: { type: String },
    age: { type: Number }
});
 
// Find only one document matching
// the condition(age >= 21)
User.findOne({ age: { $gte: 21 } }, function (err, res) {
    if (err) {
        console.log(err)
    }
    else {
        console.log("Result : ", res);
    }
});

Pasos para ejecutar la aplicación: escriba el siguiente código en la terminal para ejecutar el servidor:

node index.js

Producción: 

Salida de terminal findOne

3. Actualización de un documento: para actualizar un documento , debe utilizar el método updateOne() o el método findOneAndUpdate() . La diferencia clave entre ellos es que updateOne() no devuelve el documento actualizado, mientras que findOneAndUpdate() devuelve el documento actualizado.

Ejemplo: En el siguiente ejemplo, vamos a actualizar documentos. Abra el archivo index.js y escriba el siguiente código:

Javascript

const mongoose = require('mongoose');
 
// Database connection
mongoose.connect('mongodb://127.0.0.1:27017/geeksforgeeks', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});
 
// User model
const User = mongoose.model('User', {
    name: { type: String },
    age: { type: Number }
});
 
// Update only one document matching
User.updateOne({ name: "Rishu" },
{ age: 22 }, function (err, res) {
    if (err) {
        console.log(err)
    }
});
 
// Or you can use findOneAndUpdate()
 
const doc = User.findOneAndUpdate(
    { name: "Rishu" },
    { age: 22 },
     
    // if 'new' isn't true then findOneAndUpdate()
    // will return the document as it was
    // before it was updated.
     
    { new: true },
    function (err, res) {
        if (err) {
            console.log(err)
        }
        else {
            console.log("Result : ", res);
        }
    });

Pasos para ejecutar la aplicación: escriba el siguiente código en la terminal para ejecutar el servidor:

node index.js

Producción: 

actualizar la salida del terminal

Como puede ver a continuación, el documento está actualizado:

Salida de brújula Mongo

4. Sobrescribir un documento: Para sobrescribir un documento podemos usar el método replaceOne() . El método ‘replaceOne()’  toma 2 parámetros requeridos, algunos parámetros opcionales y una función de devolución de llamada. El primer parámetro es el documento que desea sobrescribir y el segundo es el nuevo objeto de documento.

Ejemplo: En el siguiente ejemplo, vamos a sobrescribir documentos. Abra el archivo index.js y escriba el siguiente código:

Javascript

const mongoose = require('mongoose');
 
// Database connection
mongoose.connect('mongodb://127.0.0.1:27017/geeksforgeeks', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});
 
// User model
const User = mongoose.model('User', {
    name: { type: String },
    age: { type: Number }
});
 
// OverWrite a document using `replaceOne()` method
 
User.replaceOne(
    { name: "Rishu" },
    { name: "Raja", age: 19 }, (err) => {
    if (err) return console.error(err);
    else {
        console.log('{ name: "Rishu" } is replaced
            with {name: "Raja", age: 19}')
    }
});

Pasos para ejecutar la aplicación: escriba el siguiente código en la terminal para ejecutar el servidor:

node index.js

Producción:

Salida de sobrescritura de terminal

Como puede ver a continuación, el documento se sobrescribe:

Mongo Compass sobrescribe la salida

Hemos repasado la API de documentos de mongoose más importante hasta el momento. Hay otras API accesibles, de las que hablaré en un artículo futuro.

Publicación traducida automáticamente

Artículo escrito por ayushrajrock99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *