Ik denk niet dat er een manier is om dit nog te doen, behalve het handmatig doorlopen van je documenten en het controleren van elke waarde in de array. Dat gaat behoorlijk traag zijn omdat het JavaScript op elk document moet uitvoeren en geen gebruik kan maken van een index over col.values
.
Zelfs een $waar
JavaScript-expressiequery lijkt hier niet te werken omdat, mogelijk omdat de query een callback bevat en te complex is:
db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")
Bewerken: Voor sommige zoekopdrachten, waaronder deze, is de JavaScript $waar expressie heeft een return-statement nodig, dus dit werkt prima:
db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")