Operadores de consulta en MongoDB

Los operadores de consulta en MongoDB incluyen operadores de comparación, lógicos y de evaluación.


Operadores de Comparación

Los operadores de comparación se utilizan para comparar valores en los documentos de una colección y seleccionar documentos que cumplan con ciertas condiciones. Algunos de los operadores de comparación más comunes en MongoDB son:

  • $eq: Compara si un campo es igual a un valor específico.
  • $ne: Compara si un campo no es igual a un valor específico.
  • $gt: Compara si un campo es mayor que un valor específico.
  • $lt: Compara si un campo es menor que un valor específico.
  • $gte: Compara si un campo es mayor o igual a un valor específico.
  • $lte: Compara si un campo es menor o igual a un valor específico.

Ejemplo de uso de operadores de comparación:

// Encuentra documentos donde el campo "edad" es igual a 30
db.tu_coleccion.find({ edad: { $eq: 30 } });

// Encuentra documentos donde el campo "puntuacion" es mayor que 80
db.tu_coleccion.find({ puntuacion: { $gt: 80 } });

// Encuentra documentos donde el campo "nombre" no es igual a "Juan"
db.tu_coleccion.find({ nombre: { $ne: "Juan" } });

Operadores Lógicos

Los operadores lógicos se utilizan para combinar múltiples condiciones en una sola consulta. Algunos de los operadores lógicos en MongoDB son:

  • $and: Realiza una operación lógica «y» en una lista de expresiones.
  • $or: Realiza una operación lógica «o» en una lista de expresiones.
  • $not: Niega una expresión.
  • $nor: Realiza una operación lógica «ni» en una lista de expresiones.

Ejemplo de uso de operadores lógicos

db.tu_coleccion.find({
  $and: [
    { edad: { $gt: 30 } },
    { nombre: { $ne: "Juan" } }
  ]
});

Operadores de Evaluación:

Los operadores de evaluación se utilizan para realizar operaciones de evaluación en los valores de los campos. Algunos de los operadores de evaluación en MongoDB son:

  • $type: Comprueba el tipo de un campo.
  • $exists: Comprueba si un campo existe en un documento.
  • $mod: Comprueba si un campo es divisible por un valor dado.
  • $regex: Realiza una búsqueda de expresión regular en un campo.

Ejemplo de uso de operadores de evaluación

// Encuentra documentos donde el campo "nombre" existe
db.tu_coleccion.find({ nombre: { $exists: true } });

// Encuentra documentos donde el campo "edad" es de tipo número (Double)
db.tu_coleccion.find({ edad: { $type: "number" } });

// Encuentra documentos donde el campo "correo" coincide con una expresión regular
db.tu_coleccion.find({ correo: { $regex: /@example\.com$/i } });

Estos son algunos ejemplos de cómo utilizar operadores de consulta en MongoDB. Puedes combinar estos operadores para crear consultas más complejas y obtener los datos que necesitas de tu base de datos MongoDB. A medida que te familiarices con estos operadores, podrás realizar consultas más avanzadas y eficientes.