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.