Consideremos a sus Pupils
colección:
Pupils
{
_id,
Marks(integer),
LatestMark(int)
}
Sugiero agregar la última marca en el documento Pupil (como puede ver en el documento anterior) y actualizarlo cada vez que agregue una nueva marca en la colección anidada. Luego podrá consultarlo de esta manera:
db.Pupils.find({ "LatestMark": {$gt : 15, $lt : 20}});
También puede consultar la última marca usando $donde , pero ten cuidado porque: