Menemukan jawaban saya dalam pertanyaan ini:Urutan $lt dan $gt dalam kueri rentang MongoDB
Indeks saya adalah indeks multikunci (pada tags ) dan saya menjalankan kueri rentang (pada post_time ). Tampaknya
, MongoDB tidak dapat menggunakan kedua sisi rentang sebagai filter dalam kasus ini, jadi ia hanya mengambil $gte klausa, yang datang lebih dulu. Karena batas bawah saya adalah post_time terendah nilai, MongoDB mulai memindai semua objek.
Sayangnya, ini bukan keseluruhan cerita. Mencoba memecahkan masalah, saya juga membuat indeks non-multikey tetapi MongoDB bersikeras menggunakan yang buruk. Itu membuat saya berpikir bahwa masalahnya ada di tempat lain. Akhirnya, saya harus menghapus indeks multikey dan membuatnya tanpa tags bidang. Semuanya baik-baik saja sekarang.