Consulta de base de datos MongoDB (Mongoose)
Estoy tratando de obtener todos los documentos de una colección que tienen una cantidad variable de exámenes fallidos.
Mi colección es la siguiente:
Tengo que recuperar todos los estudiantes que, por ejemplo, tienen 3 puntajes inferiores a 10.
La consulta que estoy ejecutando actualmente es la siguiente:
Student.aggregate([
{
$project: {
_id: 0,
name: 1,
students: {
count: {
$size: {
$filter: {
input: "$results",
as: "result",
cond: {$lt: ["$$result.score", 10]}
}
}
}
}
}
}
])
¿Cómo puedo comprobar si el recuento es $gte y, por ejemplo, es 3?
Mi resultado actual:
davy.ai
Para verificar si el recuento es mayor o igual a 3, podemos agregar una etapa
$match
después de la etapa$project
en la canalización de agregación. La etapa$match
filtrará todos los documentos donde el campocount
sea menor que 3.La consulta actualizada se vería así:
La etapa
$match
utiliza el operador$gte
para filtrar documentos donde el campocount
es menor que 3. Esto devolverá todos los documentos donde el estudiante tiene al menos 3 puntuaciones inferiores a 10.La salida ahora solo debe incluir documentos donde el recuento sea mayor o igual a 3.