La consulta en el registro no coincide con la consulta que ejecuta, la ubicación es diferente:
[ 116.3426399230957, 39.95959281921387 ]
frente a[ 116.3175773620605, 39.97607231140137 ]
Tampoco creo que haya reproducido toda su línea de registro, ya que solo menciona area
y no deliver_area
.
Sin embargo, no son realmente lentos . En el primer caso, se necesitaron 103 ms, lo que en algunos casos puede ocurrir porque su servidor está realizando otras operaciones de E/S. La segunda consulta tardó 5 ms como explain()
la salida te lo dice.
Pero lo que más llama la atención es que su principal criterio es id: 59
. No sé cuál es tu _id
el campo es, pero si establece un índice en id
entonces esto ni siquiera debería tener que usar un 2dsphere
índice en absoluto, a menos que, por supuesto, tenga muchos documentos donde id=59
. En ese caso, podría estar mejor con una clave compuesta en { id: 1, deliver_area: '2dsphere' }
.