Mongoose es un modelado y manejo de objetos MongoDB para el entorno node.js.
Las marcas de tiempo de Mongoose son compatibles con el esquema. Las marcas de tiempo guardan la hora actual del documento creado y también cuándo se actualizó en forma de fecha al convertirlo en verdadero. Cuando se establece en verdadero, la mangosta crea dos campos de la siguiente manera:
- createdAt : Fecha que representa cuando se creó el documento
- updatedAt : fecha que representa la última actualización de este documento
Los dos campos se crean cuando la base de datos se creó por primera vez y luego se actualizó mediante las consultas save(), updateOne(), updateMany(), findOneAndUpdate(), update(), replaceOne() o bulkWrite().
Sintaxis : cree un esquema con una marca de tiempo de la siguiente manera:
const studentSchema = new Schema({ nombre: String }, { timestamps: true });
const Estudiante = mongoose.model(‘Estudiante’, StudentSchema);
Creación de aplicaciones e instalación de módulos: crearemos un esquema con las marcas de tiempo y luego imprimiremos las diferentes marcas de tiempo que se crean y actualizan al actualizar los detalles de un estudiante.
Paso 1: crea una carpeta e inicialízala:
npm init
Paso 2: Instale mongoose en el proyecto.
npm i mongoose
Estructura del proyecto: La estructura del proyecto es la siguiente:
Ejemplo: Cree un archivo llamado index.js. Dentro de index.js, conéctese a MongoDB. Aquí se utiliza MongoDB Compass. Ahora primero cree el esquema de Estudiante y luego su modelo. Ahora crea un nuevo documento y guárdalo. Imprima las marcas de tiempo del documento y luego actualice el documento después de un retraso de tiempo y luego vuelva a imprimir los detalles de la marca de tiempo.
index.js
const mongoose = require("mongoose"); // Database connection mongoose.connect("mongodb://localhost:27017/geeksforgeeks"); // Creating Schema const studentSchema = new mongoose.Schema({ name: { type: String, required: true }, age: { type: Number, default: 8 }, }, { timestamps: true } ); // Student model const Student = mongoose.model("Student", studentSchema); // Creating Student document from Model // Function to save in database const saveStudent = async (name, age) => { let s = new Student({ name: name, age: age, }); s.save().then((doc) => { console.log("Name:", doc.name, ", Age:", doc.age); console.log("Created At:", doc.createdAt); console.log("Updated At:", doc.updatedAt); }); }; const updateStudent = async () => { let doc = await Student.findOneAndUpdate( { name: "Rahul" }, { age: 25 }, { new: true } ); console.log("Name:", doc.name, ", Age:", doc.age); console.log("Created At:", doc.createdAt); console.log("Updated At:", doc.updatedAt); }; const start = async () => { await saveStudent("Rahul", 15); setTimeout(function () { updateStudent(); }, 3000); }; start();
Paso 4: Ejecute el código usando el siguiente comando:
node index.js
Salida: La salida en la línea de comando es la siguiente. El resultado muestra que el documento se actualiza después de 3 segundos.
Salida de MongoDB: el siguiente campo ahora también se reflejará en la base de datos, como se muestra en la imagen a continuación:
Referencia: https://mongoosejs.com/docs/timestamps.html
Publicación traducida automáticamente
Artículo escrito por RajeevSarkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA