Nemyslím si, že to zatím existuje nějaký způsob, jak to udělat, kromě ručního iterování vašich dokumentů a kontroly každé hodnoty v poli. To bude poměrně pomalé, protože musí spouštět JavaScript v každém dokumentu a nemůže využívat žádný index oproti col.values
.
Dokonce i $ kde
Zdá se, že dotaz na výraz JavaScript zde nefunguje, protože možná proto, že dotaz obsahuje zpětné volání a je příliš složitý:
db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")
Upravit: Pro některé dotazy, včetně tohoto, JavaScript $kde výraz potřebuje příkaz return, takže to funguje dobře:
db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")