Mongoose es un modelado y manejo de objetos MongoDB para el entorno node.js. Mongoose Documents representa un mapeo uno a uno a los documentos almacenados en la base de datos en MongoDB. Cada instancia de un modelo es un documento. Un documento puede contener cualquier tipo de datos según el modelo creado.
Las siguientes funciones se utilizan en el Documento de la Mangosta:
- Recuperación: El documento es recuperado por diferentes funciones de modelo como findOne(), findById().
const doc = MyModel.findById(myid);
- Guardar : el documento se guarda llamando a la función de guardar. La función es asíncrona y debe esperarse.
await doc.save()
- Actualización usando save() : El documento puede ser actualizado por la función save() de la siguiente manera:
await MyModel.deleteOne({ _id: doc._id }); doc.firstname = 'gfg'; await doc.save();
- Actualización mediante consultas : las consultas pueden actualizar el documento sin llamar a la función de guardar.
await MyModel.findByIdAndUpdate(myid,{firstname: 'gfg'},function(err, docs){});
- Validación : los documentos se validan una vez que se crean antes de guardarlos en MongoDB.
const schema = new Schema({ name: String, age: Number}); const Person = mongoose.model('Person', schema); let p1 = new Person({ name: 'gfg', age: 'bar' }); // Validation will be failed await p1.validate(); let p2 = new Person({ name: 'gfg', age: 20 }); // Validation will be successful await p2.validate();
- Sobrescritura : los documentos se pueden sobrescribir utilizando el método de sobrescritura.
const doc = MyModel.findById(myid); doc.overwrite({ fullname: 'gfg' }); await doc.save();
Ejemplo : en el siguiente ejemplo, crearemos un modelo, lo guardaremos en la base de datos y luego lo recuperaremos, actualizaremos el documento y luego lo guardaremos usando mongoose. Usaremos node.js para este ejemplo. Node.js y npm deben estar instalados.
Paso 1 : crea una carpeta e inicialízala:
npm init
Paso 2 : Instale mongoose en el proyecto.
npm i mongoose
La estructura del proyecto es la siguiente:
Paso 3 : Cree un archivo llamado index.js. Dentro de index.js, conéctese a MongoDB. Aquí se utiliza MongoDB Compass.
índice.js
Javascript
const mongoose = require("mongoose"); // Database connection mongoose.connect("mongodb://localhost:27017/geeksforgeeks", {}); // User model const User = mongoose.model("User", { name: { type: String }, age: { type: Number }, }); // Creating a new document async function start() { let user1 = new User({ name: "Geeks", age: 20, }); user1.save().then(async (doc) => { if (doc) { console.log("The document is saved successfully"); console.log(doc._id); } }); let user2 = await User.findOne({ name: "Geeks" }); user2.name = "GeeksforGeeks "; user2.save().then(async (doc) => { if (doc) { console.log("The document is updated successfully"); console.log(doc._id); } }); } start();
Paso 4 : Ahora ejecute el código usando el siguiente comando en la Terminal/Símbolo del sistema para ejecutar el archivo.
node index.js
Salida: La salida del código es la siguiente:
Y el documento en MongoDB es el siguiente:
Referencia: https://mongoosejs.com/docs/documents.html
Publicación traducida automáticamente
Artículo escrito por manavsarkar07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA