Este capítulo introduce cómo insertar datos de documentos en MongoDB usando la terminal mongo.

Insertar un Documento Único

El método db.collection.insertOne() se utiliza para insertar un solo documento en una colección.

Si el documento no especifica el campo _id, MongoDB generará automáticamente un ObjectId único para el campo _id.

Nota: ObjectId es un generador de ID único incorporado en MongoDB utilizado para la generación de IDs.

Ejemplo: Insertar un documento en la colección de inventario:

db.inventory.insertOne(
   { item: "lienzo", qty: 100, tags: ["algodón"], size: { h: 28, w: 35.5, uom: "cm" } }
)

Devuelve:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("609bf11dfc901345cafc438a")
}

Si la inserción es exitosa, devuelve la clave primaria. El campo insertedId es el ID único generado automáticamente por MongoDB. Si la colección de inventario no existe, se crea automáticamente.

Consultar los datos del documento insertado:

> db.inventory.find( { item: "lienzo" } )
{ "_id" : ObjectId("609bf11dfc901345cafc438a"), "item" : "lienzo", "qty" : 100, "tags" : [ "algodón" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }

Usando el método find, introduzca la condición de consulta para encontrar los datos del documento donde item es "lienzo".

Insertar Múltiples Documentos

El método db.collection.insertMany() puede insertar varios documentos en una colección.

Ejemplo: Insertar tres datos de documento pasando un array al método insertMany:

db.inventory.insertMany([
   { item: "diario", qty: 25, tags: ["en blanco", "rojo"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "alfombra", qty: 85, tags: ["gris"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "almohadilla para mouse", qty: 25, tags: ["gel", "azul"], size: { h: 19, w: 22.85, uom: "cm" } }
])

Valor de retorno:

{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("609bf30ffc901345cafc438b"),
		ObjectId("609bf30ffc901345cafc438c"),
		ObjectId("609bf30ffc901345cafc438d")
	]
}

Devuelve los IDs de los tres nuevos documentos insertados.

Comportamiento de Inserción

Creación de Colecciones

En MongoDB, no es necesario crear una colección previamente. Al insertar datos por primera vez, si la colección no existe, se crea automáticamente.

Campo _id

En MongoDB, cada documento almacenado en una colección tiene un campo único _id que actúa como clave primaria. Si el documento insertado omite el campo _id, el controlador de MongoDB genera automáticamente un ObjectId para el campo _id.

Atomicidad

Todas las operaciones de escritura en MongoDB son operaciones atómicas a nivel de documento único.