Skip to content

Instantly share code, notes, and snippets.

@fabecerram
Created November 12, 2022 16:02
Show Gist options
  • Save fabecerram/09934a3766259dbf4bbb0e1513b3ffcf to your computer and use it in GitHub Desktop.
Save fabecerram/09934a3766259dbf4bbb0e1513b3ffcf to your computer and use it in GitHub Desktop.
MongoDB Cheat Sheet - Spanish - Español

MongoDB Cheat Sheet - Spanish

La información de esta guía rápida es de naturaleza educativa y está destinada principalmente a estudiantes y desarrolladores de software que comienzan con MongoDB, específicamente con el uso de MongoSH, por esta razón, la información relacionada con la administración de la base de datos, clustering, tuning u otras funciones avanzadas no esta incluida.


Bases de Datos

Mostrar todas las bases de datos

show dbs

Mostrar la base de datos en uso

db

Crear una base de datos - Usar una base de datos

use myMongoDB

Eliminar una base de datos

db.dropDatabase()


Manejo de Colecciones

Crear una colección

db.createCollection('myCollection')

Mostrar todas las colecciones de una base de datos

show collections

Contar documentos en la colección

db.myCollection.countDocuments({})
db.myCollection.countDocuments(filtro)

Borrar una colección

db.myCollection.drop()


Manejo de Documentos

Estructura básica de los filtros o criterios de busqueda

# Operadores Relacionales

Igual (=)                           { campo: valor }
Menor que (<)                       { campo: { $lt:valor }}
Menor o igual que (<=)              { campo: { $lte:valor }}
Mayor que (>)                       { campo: { $gt:valor }}
Mayor o igual que (>=)              { campo: { $gte:valor }}
Diferente de (!=)                   { campo: { $ne:valor }}

Valores en un array                 { campo: { $in: [ valor, valor, valor ]}}
Valores diferentes a los del array  { campo: { $nin: [ valor, valor, valor ]}}

# Operadores Lógicos

AND                                 { $and: [ { campo:valor }, { campo:valor }, { campo:valor } ] }
OR                                  { $or: [ { campo:valor }, { campo:valor }, { campo:valor } ] }
NOR                                 { $nor: [ { campo:valor }, { campo:valor }, { campo:valor } ] }
NOT                                 { $not: [ { campo:valor }, { campo:valor }, { campo:valor } ] }

Insertar Documentos

Insertar un documento

db.myCollection.insertOne({ 
  item: "card", 
  qty: 15 
})

Insertar múltiples documentos

db.myCollection.insertMany([
  { 
    item: "card", 
    qty: 15 
  },
  { 
    item: "box", 
    qty: 20 
  },
  { 
    item: "envelopes", 
    qty: 30 
  }
])

Consultar Documentos

Traer todos los documentos de una colección

db.myCollection.find()

Traer todos los documentos dando formato

db.myCollection.find().pretty()

Traer documentos usando filtros

db.myCollection.find({ item: "card" })

Traer documentos usando el Objeto Id de MongoDB

db.myCollection.find({ _id: ObjectId("616d7ca2cb1032dfa6345840") })

Consulta usando operadores relacionales

db.myCollection.find({ qty: { $gt: 2 } })
db.myCollection.find({ qty: { $gte: 7 } })
db.myCollection.find({ qty: { $lt: 7 } })
db.myCollection.find({ qty: { $lte: 7 } })

Consultar ordenando los documentos

# Ascendente
db.myCollection.find().sort({ item: 1 }).pretty()

# Descendente
db.myCollection.find().sort({ item: -1 }).pretty()

Conteo de documentos

db.myCollection.find().count()
db.myCollection.find({ item: "card" }).count()

Limitar la cantidad de documentos que trae la consulta

db.myCollection.find().limit(2)

Especificar una cantidad de documentos a saltar (paginado)

db.myCollection.find().skip(2)

Encadenando cursores

db.myCollection.find().limit(2).sort({ item: 1 }).pretty()

Foreach

db.myCollection.find().forEach(function(doc) {
  print("Item name: " + doc.item)
})

Traer el primer documento encontrado

db.myCollection.findOne({ item: "card" })

Mostrar u ocultar campos en el resultado de la consulta (Projections)

# A menos que el campo _id esté explícitamente excluido, siempre se mostrara en los resultados.
# 0 = ocultar campo, 1 = mostrar campo

db.myCollection.find({ item: "card" }, {
  _id: 0,
  item: 1
})

Buscar elementos en un Array ($elemMatch)

db.myCollection.find({
  address: {
     $elemMatch: {
       name: "Office"
       }
    }
  }
)

Busquedas por texto

db.myCollection.find({
  $text: {
    $search: "\"card\""
    }
})

Actualizar Documentos

Actualizar un documento - Crear uno nuevo si no existe

db.myCollection.updateOne({ item: "card" },
{
  item: "card"
  qty: 50
},
{
  upsert: true
})

Actualizar el valor de un campo específico - Adicionar el campo si no existe

db.myCollection.updateOne({ item: "card" },
{
  $set: {
    qty: 50
  }
})

db.myCollection.updateMany({ },
{
  $set: {
    age: 0
  }
})

Eliminar un campo específico

db.myCollection.updateOne({ item: "card" },
{
  $unset: {
    qtyii: ""
  }
})

db.myCollection.updateMany({ },
{
  $unset: {
    qtyii: ""
  }
})

Incrementar el valor de un campo ($inc)

db.myCollection.updateOne({ item: "card" },
{
  $inc: {
    qty: 5
  }
})

Renombrar un campo

db.myCollection.update({ item: "card" },
{
  $rename: {
    qtyii: 'qty'
  }
})

Actualizar Sub-Documentos

db.myCollection.updateOne({ userName: 'Jhon_Doe' },
{
  $set: {
    address: [
      {
        name: "Home",
        mainAddress: "20341 My home",
        phone: "123456789"
      },
      {
        name: "Office",
        mainAddress: "20341 My Office",
        phone: "123456789"
      }
    ]
  }
})

Borrar Documentos

Borrar un documento por medio del Objeto Id de MongoDB

db.myCollection.deleteOne({ _id: ObjectId("616d7ca2cb1032dfa6345840") })

Borrar todos los documentos en una colección

db.myCollection.deleteMany({})


Creador

Fabian A. Becerra M. https://github.com/fabecerram


Esta información ha sido recoplilada en base a la documentación oficial de MongoDB, para más detalles ver el manual de MongoSH en https://www.mongodb.com/docs/manual/reference/method/


Copyright y licencia

Code and documentation copyright 2019-2022 the authors. Code released under the MIT License.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment