ログ内のクエリは、実行したクエリと一致しません。場所が異なります:
[ 116.3426399230957, 39.95959281921387 ]
vs.
[ 116.3175773620605, 39.97607231140137 ]
また、area
に言及しているだけなので、ログ行全体を再現したとは思いません。 deliver_area
ではありません 。
ただし、本当に遅いではありません。 。最初のケースでは、103ミリ秒かかりました。これは、サーバーが他のIOを実行しているときに発生する場合があります。 2番目のクエリはexplain()
として5msかかりました 出力からわかります。
しかし、最も印象的なのは、主な基準がid: 59
であるということです。 。あなたの_id
が何なのかわかりません フィールドはですが、id
にインデックスを設定した場合 そうすれば、これは2dsphere
を使用する必要さえありません。 インデックスを作成する—もちろん、id=59
のドキュメントが多数ある場合を除きます。 。その場合は、{ id: 1, deliver_area: '2dsphere' }
の複合キーを使用したほうがよい場合があります。 。