No creo que haya ninguna forma de hacer esto todavía, además de iterar manualmente a través de sus documentos y verificar cada valor en la matriz. Eso va a ser bastante lento porque tiene que ejecutar JavaScript en cada documento y no puede aprovechar ningún índice sobre col.values
.
Incluso un $donde
La consulta de expresión de JavaScript no parece funcionar aquí porque, posiblemente, porque la consulta contiene una devolución de llamada y es demasiado compleja:
db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")
Editar: Para algunas consultas, incluida esta, JavaScript $donde expresión necesita una declaración de retorno, así que esto funciona bien:
db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")