Inserción de Documentos en MongoDB: Insert One y Insert Many
Clase 5 de 17 • Curso de Base de Datos NoSQL
Resumen
Explora las poderosas capacidades de inserción en MongoDB y cómo maximizar su eficiencia. Aprenderás a usar comandos para insertar datos de manera efectiva y entenderás las implicaciones en el rendimiento del clúster.
¿Cómo insertar documentos en MongoDB desde la terminal de Compass?
En Compass, accede a la terminal mongush
para insertar comandos de MongoDB. Puedes usar el intérprete de JavaScript, lo que te permite crear variables y funciones para generar datos aleatorios. Primero, selecciona la base de datos con use
, luego usa db.nombre_de_tu_colección.insert
para insertar documentos.
¿Qué ventajas ofrece la flexibilidad de la estructura de documentos en MongoDB?
MongoDB permite insertar documentos con diferentes estructuras, una gran ventaja para startups o proyectos con cambios frecuentes en el esquema de datos. Por ejemplo, puedes tener un documento con un campo name
y otro con nombre
, permitiendo adaptaciones rápidas sin complicaciones.
¿Cómo insertar múltiples documentos simultáneamente?
Usa insertMany
para insertar varios documentos a la vez. Esto se logra creando un array de objetos JSON:
db.users.insertMany([
{ name: "Raúl", role: "admin" },
{ name: "Samanta", age: 25 }
]);
¿Qué consideraciones de rendimiento debes tener al insertar documentos?
Cada escritura afecta el rendimiento del disco (IOPS). Insertar documentos uno por uno puede generar cuellos de botella. Es mejor usar insertMany
para insertar varios documentos de una vez, optimizando las operaciones de entrada y salida.
¿Cómo crear una función en JavaScript para insertar documentos aleatorios?
Puedes crear una función en JavaScript para automatizar la inserción de documentos con datos aleatorios:
function insertRandomUsers() {
const roles = ["admin", "user", "editor"];
const names = ["Ana", "Raúl", "Samanta", "Carlos"];
const users = [];
for (let i = 0; i < 10; i++) {
const user = {
name: names[Math.floor(Math.random() * names.length)],
role: roles[Math.floor(Math.random() * roles.length)],
age: Math.floor(Math.random() * 50) + 20
};
users.push(user);
}
db.users.insertMany(users);
}
insertRandomUsers();