Es scheint, dass Sie das GeoJSON-Format verwenden müssen, wenn Ihre Daten auch im GeoJSON-Format vorliegen, wie Ihre. Wenn Sie verwenden:
db.collectionname.find({
"location": {
$near: {
$geometry:
{ type: "Point", coordinates: [50.0, -0.1330] }, $maxDistance: 500
}
}
})
es sollte funktionieren. Ich könnte Ihren Fehler mit dem GeoJSON-Speicherformat für das Feld replizieren, aber was die Dokumente als Legacy-Punkte im Abfrageausdruck bezeichnen. Ich denke, die Dokumentation ist etwas unklar, da sie vorschlägt, dass Sie sowohl GeoJSON- als auch Legacy-Koordinaten mit einem 2dsphere-Index verwenden können 2dsphere
Ich verwende 2.4.10 für das, was es wert ist, da es in der Version 2.4 einige große Änderungen an Spatial gab.