Parece que você precisa usar o formato GeoJSON se seus dados também estiverem no formato GeoJSON, como os seus. Se você usar:
db.collectionname.find({
"location": {
$near: {
$geometry:
{ type: "Point", coordinates: [50.0, -0.1330] }, $maxDistance: 500
}
}
})
deve funcionar. Eu poderia replicar seu erro usando o formato de armazenamento GeoJSON para o campo, mas o que os documentos chamam de pontos herdados na expressão de consulta. Acho que os documentos são um pouco obscuros, pois sugerem que você pode usar GeoJSON e coordenadas legadas com um índice 2dsphere 2dsphere
Estou usando o 2.4.10, vale a pena, pois houve algumas grandes mudanças no espaço na versão 2.4.