Entrada
Preview Image

Cheat Sheet documentos

Agrega un documento nuevo a una colección.

1
2
3
4
db.nombre_coleccion.insertOne({
  campo: "valor",
  otroCampo: 123
})

Inserta varios documentos en una sola operación.

1
2
3
4
db.nombre_coleccion.insertMany([
  { campo: "valor1" },
  { campo: "valor2" }
])

Modifica campos específicos de un documento.

1
2
3
4
db.nombre_coleccion.updateOne(
  { _id: ObjectId("id_del_doc") },
  { $set: { campo: "nuevoValor" } }
)

Modifica varios documentos que cumplan una condición.

1
2
3
4
db.nombre_coleccion.updateMany(
  { activo: false },
  { $set: { activo: true } }
)

Si no existe, crea el documento; si existe, lo actualiza.

1
2
3
4
5
db.nombre_coleccion.updateOne(
  { email: "user@mail.com" },
  { $set: { nombre: "Usuario" } },
  { upsert: true }
)

Reemplaza el documento entero (ojo: borra lo que no incluyas).

1
2
3
4
db.nombre_coleccion.replaceOne(
  { _id: ObjectId("id_del_doc") },
  { campoNuevo: "valor" }
)

Borra un documento específico.

1
db.nombre_coleccion.deleteOne({ _id: ObjectId("id_del_doc") })

Borra todos los documentos que cumplan una condición.

1
db.nombre_coleccion.deleteMany({ activo: false })

Busca un documento, lo actualiza y devuelve el documento actualizado.

1
2
3
4
5
db.nombre_coleccion.findOneAndUpdate(
  { campo: "valor" },
  { $set: { campo: "nuevo" } },
  { returnDocument: "after" }
)

Busca un documento y lo elimina.

1
db.nombre_coleccion.findOneAndDelete({ campo: "valor" })

Suma o resta un valor a un campo numérico.

1
2
3
4
db.nombre_coleccion.updateOne(
  { _id: ObjectId("id_del_doc") },
  { $inc: { visitas: 1 } }
)

Añade un valor dentro de un array.

1
2
3
4
db.nombre_coleccion.updateOne(
  { _id: ObjectId("id_del_doc") },
  { $push: { tags: "nuevo_tag" } }
)

Añade un valor al array solo si no existe.

1
2
3
4
db.nombre_coleccion.updateOne(
  { _id: ObjectId("id_del_doc") },
  { $addToSet: { tags: "tag_unico" } }
)

Quita un elemento específico de un array.

1
2
3
4
db.nombre_coleccion.updateOne(
  { _id: ObjectId("id_del_doc") },
  { $pull: { tags: "tag_unico" } }
)
Esta entrada está licenciada bajo CC BY 4.0 por el autor.