MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongodb encontra consulta com $ near e coordenadas não funcionando


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.