Kueri di log tidak cocok dengan kueri yang Anda jalankan, lokasinya berbeda:
[ 116.3426399230957, 39.95959281921387 ] vs.[ 116.3175773620605, 39.97607231140137 ]
Saya juga tidak berpikir Anda telah mereproduksi seluruh baris log Anda, karena hanya menyebutkan area dan bukan deliver_area .
Namun, mereka tidak sangat lambat . Dalam kasus pertama, butuh 103 ms, yang dalam beberapa kasus mungkin terjadi karena server Anda melakukan IO lain. Kueri kedua membutuhkan waktu 5 md sebagai explain() output memberitahu Anda.
Tapi yang paling mencolok adalah kriteria utama Anda adalah id: 59 . Saya tidak tahu apa _id Anda bidangnya adalah, tetapi jika Anda menetapkan indeks pada id maka ini bahkan tidak harus menggunakan 2dsphere indeks sama sekali — kecuali jika Anda tentu saja memiliki banyak dokumen di mana id=59 . Dalam hal ini, Anda bisa lebih baik dengan kunci majemuk pada { id: 1, deliver_area: '2dsphere' } .