Aplicar múltiples condiciones
En este paso, aprenderá a aplicar múltiples condiciones al consultar colecciones de MongoDB. Las múltiples condiciones le permiten crear consultas más precisas y complejas para filtrar efectivamente sus datos.
Primero, abra una terminal y lance la shell de MongoDB:
mongosh
Ahora, creemos una colección de ejemplo de estudiantes para demostrar consultas con múltiples condiciones:
use school_database
db.students.insertMany([
{ name: "Alice", age: 22, grade: "A", major: "Computer Science" },
{ name: "Bob", age: 20, grade: "B", major: "Mathematics" },
{ name: "Charlie", age: 25, grade: "A", major: "Physics" },
{ name: "David", age: 19, grade: "C", major: "Computer Science" }
])
Exploremos cómo aplicar múltiples condiciones utilizando el operador $and
. Esto nos permite especificar múltiples condiciones que deben ser todas verdaderas:
db.students.find({
$and: [{ age: { $gte: 20 } }, { grade: "A" }]
});
Esta consulta devolverá a los estudiantes que tienen 20 años o más Y tienen una calificación de "A". Analicemos las condiciones:
$gte
significa "mayor o igual que"
$and
asegura que ambas condiciones deben cumplirse
Debería ver una salida similar a:
[
{
_id: ObjectId("..."),
name: 'Alice',
age: 22,
grade: 'A',
major: 'Computer Science'
},
{
_id: ObjectId("..."),
name: 'Charlie',
age: 25,
grade: 'A',
major: 'Physics'
}
]
También podemos utilizar el operador $or
para encontrar documentos que coincidan con al menos una condición:
db.students.find({
$or: [{ major: "Computer Science" }, { age: { $lt: 21 } }]
});
Esta consulta devolverá a los estudiantes que están en Ciencias de la Computación O tienen menos de 21 años.
$lt
significa "menor que"
El resultado incluirá a estudiantes como David (menor de 21 años) y Alice y David (estudiantes de Ciencias de la Computación).