Logo

Inserción de Documentos en MongoDB

insertOne e insertMany con objetos anidados y arrays — ejercicios 2 y 4

Juan David Peña

Juan David Peña

5/10/2026 · 2 min read

Inserción de documentos en MongoDB

Insertar documentos en MongoDB

En MongoDB no existe un INSERT INTO como en SQL. En su lugar usamos insertOne para un documento o insertMany para varios.

Regla clave: insertOne recibe {}, insertMany recibe [{}, {}]. $set NO va en inserts — es exclusivo de operaciones de actualización.


Ejercicio 2 — insertOne con Objeto Anidado

Insertar un listing con la estructura address anidada, incluyendo country: "Chile" y market: "Santiago".

use('sample_airbnb');

db.listingsAndReviews.insertOne({
  name: "Listing Santiago",
  address: {
    country: "Chile",
    market: "Santiago"
  }
})

¿Qué aprendemos aquí?

  • Los documentos anidados se escriben como objetos literales {} dentro del documento principal
  • No se usa dot notation para insertar — eso es solo para consultar
  • MongoDB genera automáticamente un _id de tipo ObjectId si no lo proporcionas

Resultado esperado

{
  acknowledged: true,
  insertedId: ObjectId('6a02b9d4bc9e150aff6cfe33')
}

Error común

// MAL — $set no va en inserts
db.listingsAndReviews.insertOne({
  $set: { "address.country": "Chile" }
})

// BIEN — documento directo
db.listingsAndReviews.insertOne({
  address: { country: "Chile", market: "Santiago" }
})

Ejercicio 4 — insertMany con Arrays

Insertar un listing que incluya un array amenities con al menos tres elementos.

use('sample_airbnb');

db.listingsAndReviews.insertMany([
  {
    amenities: ["Wifi", "Kitchen", "Free parking"]
  }
])

¿Qué aprendemos aquí?

  • insertMany siempre recibe un array [] de documentos
  • Los arrays en MongoDB se escriben con corchetes []
  • Puedes insertar un solo documento con insertMany si lo envuelves en []

Resultado esperado

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId('6a036eebf322c117d4d3c664')
  }
}

Comparación insertOne vs insertMany

OperaciónParámetroUso
insertOne({})Un solo documento
insertMany([{}, {}])Varios documentos

Restricción de unicidad del _id

Si intentas insertar un documento con un _id que ya existe en la colección, MongoDB lanza el error E11000 duplicate key error. El _id funciona como Primary Key — no puede haber duplicados en la misma colección.