MongoDB Matriz de objetos usando insert() con ejemplo
⚡ Resumen inteligente
MongoDB El ejemplo "Array of Objects using insert()" muestra cómo agregar varios documentos a una colección en una sola operación. Almacena un array de registros de empleados, inserta arrays dentro de un documento y muestra los resultados de forma clara mediante la función de impresión JSON.

¿Qué es el método insert() en MongoDB?
El método insert() en MongoDB Agrega uno o más documentos a una colección. Un documento es un conjunto de pares campo-valor almacenados en BSON, una forma binaria de JSON. Cuando se pasa un solo documento, `insert()` almacena ese único registro; cuando se pasa una matriz de documentos, los almacena todos en una sola operación, lo cual es más rápido que insertarlos uno por uno.
El método se ejecuta sobre una colección específica utilizando el patrón db.collection.insert(). Si la colección de destino aún no existe, MongoDB Se crea automáticamente durante la primera inserción. Cada documento también recibe un campo _id único si no se proporciona uno, de modo que cada registro pueda identificarse posteriormente.
Aunque insert() todavía funciona, más reciente MongoDB Las versiones ofrecen las funciones insertOne() e insertMany() como alternativas más claras. Los ejemplos que se muestran a continuación utilizan insert() para agregar una matriz de documentos de empleados y luego muestran los resultados en un formato JSON legible.
Agregar una matriz de documentos
El comando "insertar" también se puede utilizar para insertar varios documentos en una colección a la vez. El siguiente ejemplo de código se puede utilizar para insertar varios documentos a la vez.
El siguiente ejemplo muestra cómo se puede hacer esto:
Paso 1) Créar un JavaScript variable llamada myEmployee para contener la matriz de documentos
Paso 2) Agregue los documentos requeridos con el nombre del campo y los valores a la variable
Paso 3) Utilice el comando insertar para insertar la matriz de documentos en la colección
var myEmployee= [ { "Employeeid" : 1, "EmployeeName" : "Smith" }, { "Employeeid" : 2, "EmployeeName" : "Mohan" }, { "Employeeid" : 3, "EmployeeName" : "Joe" }, ]; db.Employee.insert(myEmployee);
Si el comando se ejecuta correctamente, se mostrará la siguiente salida
El resultado muestra que esos 3 documentos se agregaron a la colección.
Cómo insertar una matriz dentro de un documento
Además de insertar una serie de documentos separados, MongoDB Te permite almacenar una matriz como un campo dentro de un solo documento. Esto es útil cuando un registro contiene naturalmente una lista de valores, como un empleado que tiene varias habilidades o un estudiante matriculado en varios cursos. Porque MongoDB Utiliza un modelo de documento flexible; la matriz reside directamente dentro del objeto en lugar de en una tabla separada, lo que mantiene juntos los datos relacionados.
El siguiente ejemplo inserta un documento de empleado que contiene un campo de tipo matriz llamado Habilidades:
db.Employee.insert( { "Employeeid" : 4, "EmployeeName" : "Alan", "Skills" : [ "MongoDB", "Node.js", "Express" ] } );
Las partes de este documento funcionan de la siguiente manera:
- ID de empleado y Nombre de empleado son pares ordinarios de campo y valor.
- Habilidades Es un campo de matriz que contiene tres valores de cadena entre corchetes.
- El documento completo, incluyendo la matriz incrustada, se almacena en una única operación de inserción.
Después de agregar el registro, puede confirmar la matriz incrustada con una consulta de búsqueda que imprima el resultado en JSON:
db.Employee.find( { "Employeeid" : 4 } ).forEach(printjson)
El resultado muestra la matriz de Habilidades anidada dentro del documento del empleado. LaterPuedes añadir nuevos valores al array con el operador $push o leer un único elemento por su índice. Almacenar los valores conectados de esta forma mantiene cada documento independiente, reduce la necesidad de realizar uniones entre colecciones y facilita la lectura y el mantenimiento de los datos.
insert() vs insertOne() vs insertMany()
MongoDB Ofrece tres métodos relacionados para añadir datos. La siguiente tabla los compara para que puedas elegir el más adecuado:
| Método | Propósito | Ejemplo |
|---|---|---|
| insertar() | Método heredado que agrega un solo documento o una matriz de documentos. Aún funciona, pero está obsoleto en los controladores más recientes. | db.Empleado.insertar(miEmpleado) |
| insertarUno() | Agrega exactamente un documento y devuelve su _id insertado. Preferible para registros individuales. | db.Employee.insertOne({ … }) |
| insertarMuchos() | Agrega una matriz de documentos en una sola llamada y devuelve todos los _ids insertados. Preferible para inserciones masivas. | db.Employee.insertMany([ { … }, { … } ]) |
Para proyectos nuevos, utilice `insertOne()` e `insertMany()`, ya que ofrecen una intención más clara y una mejor notificación de errores. El método `insert()` se mantiene disponible principalmente para garantizar la compatibilidad con versiones anteriores de tutoriales y scripts.
Impresión en formato JSON
JSON es un formato llamado JavaNotación de objetos de script, y es solo una forma de almacenar información de una manera organizada y fácil de leer. En nuestros ejemplos posteriores, utilizaremos la función de impresión JSON para ver el resultado en un mejor formato.
Veamos un ejemplo de impresión en formato JSON.
db.Employee.find().forEach(printjson)
Code Explicación:
- El primer cambio consiste en añadir la función `forEach()` a la función `find()`. Esto garantiza que se recorra explícitamente cada documento de la colección. De esta forma, se tiene mayor control sobre las acciones que se pueden realizar con cada uno de los documentos.
- El segundo cambio es colocar el comando printjson en la declaración forEach. Esto hará que cada documento de la colección se muestre en formato JSON.
Si el comando se ejecuta correctamente, se mostrará la siguiente salida
Salida:
El resultado muestra claramente que todos los documentos están impresos en estilo JSON.


