Saya rasa belum ada cara untuk melakukan ini, selain dari iterasi secara manual melalui dokumen Anda dan memeriksa setiap nilai dalam array. Itu akan menjadi sangat lambat karena harus menjalankan JavaScript pada setiap dokumen, dan tidak dapat memanfaatkan indeks apa pun di atas col.values
.
Bahkan $dimana
Kueri ekspresi JavaScript tampaknya tidak berfungsi di sini karena, mungkin karena kueri berisi panggilan balik dan terlalu rumit:
db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")
Sunting: Untuk beberapa kueri, termasuk yang ini, JavaScript $dimana ekspresi membutuhkan pernyataan pengembalian, jadi ini berfungsi dengan baik:
db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")