Nie sądzę, że jest jeszcze jakiś sposób, aby to zrobić, poza ręcznym przechodzeniem przez dokumenty i sprawdzaniem każdej wartości w tablicy. Będzie to dość powolne, ponieważ musi wykonywać JavaScript w każdym dokumencie i nie może wykorzystywać żadnego indeksu nad col.values
.
Nawet $gdzie
Zapytanie o wyrażenie JavaScript nie działa tutaj, ponieważ prawdopodobnie zapytanie zawiera wywołanie zwrotne i jest zbyt złożone:
db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")
Edytuj: W przypadku niektórych zapytań, w tym tego, JavaScript $gdzie wyrażenie wymaga instrukcji return, więc działa to dobrze:
db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")