Wygląda na to, że musisz użyć formatu GeoJSON, jeśli twoje dane są również w formacie GeoJSON, tak jak twoje. Jeśli używasz:
db.collectionname.find({
"location": {
$near: {
$geometry:
{ type: "Point", coordinates: [50.0, -0.1330] }, $maxDistance: 500
}
}
})
powinno działać. Mógłbym powtórzyć twój błąd przy użyciu formatu przechowywania GeoJSON dla tego pola, ale to, co dokumentacja nazywa starszymi punktami w wyrażeniu zapytania. Myślę, że dokumenty są nieco niejasne, ponieważ sugerują, że można używać współrzędnych GeoJSON i starszych z indeksem 2dsphere 2dsfera
Używam 2.4.10, co jest warte, ponieważ w wydaniu 2.4 wprowadzono kilka dużych zmian przestrzennych.