Forespørgslen i loggen matcher ikke den forespørgsel, du kører som, placeringen er anderledes:
[ 116.3426399230957, 39.95959281921387 ]
vs.[ 116.3175773620605, 39.97607231140137 ]
Jeg tror heller ikke du har reproduceret hele din loglinje, da den blot nævner area
og ikke deliver_area
.
De er dog ikke rigtigt langsomme . I det første tilfælde tog det 103ms, hvilket i nogle tilfælde kan ske, da din server udfører anden IO. Den anden forespørgsel tog 5ms som explain()
output fortæller dig.
Men det mest slående er, at dit hovedkriterium er id: 59
. Jeg ved ikke, hvad dit _id
er felt er, men hvis du indstiller et indeks på id
så skulle dette ikke engang skulle bruge en 2dsphere
indeks overhovedet — medmindre du selvfølgelig har mange dokumenter hvor id=59
. I så fald kunne du være bedre stillet med en sammensat nøgle på { id: 1, deliver_area: '2dsphere' }
.