MongoDB – Erro: Can’t extract geo keys
E ai galera, estou me aventurando no mundo NoSQL com o sr. MongoDB…
E ao criar meu primeiro índice para fazer pesquisas por proximidade, tomei meu primeiro erro, e tive que ir atrás para resolve-lo 😦
Oque aconteceu, peguei latitudes e longitudades pelo google maps, lá pros lados da austrália…
type: "Point", coordinates: [ -33.91991, 151.257018 ]
adicionei ao meu documento e tentei gerar o índice e tomei o erro abaixo:
db.xxx.createIndex({ xxx : "2dsphere"})
…
“ok” : 0,
“errmsg” : “Can’t extract geo keys… longitude/latitude is out of bounds, lng: … lat: …”,
“code” : 16755,
“codeName” : “Location16755”
Dando uma pesquisada, descobri é que o google maps disponibiliza os valores na ordem diferente (latitude/longitude) da qual o MongoDB espera (longitude/latitude)… para resolver o problema apenas precisei inverter os valores inseridos e o índice foi criado sem problemas 😀
Os valores da Longitude deve estar entre -180° e +180° e a Latitude entre -90° e 90°!!! (Y)
Espero que tenha ajudado!
Posted on 22 de Julho de 2017, in Banco de Dados, mongoDB, NoSQL and tagged -180°, -90°, 16755, 2dsphere, austrália, brasil, brazil, busca, Can't extract geo keys, code, codeName, coordenadas, coordinates, coordinates sort, createIndex, data sort, db, errmsg, erro, error, google, google maps, gustavo amaro, is out of bounds, lat, latitude, lng, localização, Location16755, longitude, longitude/latitude, maps, mongoDB, NoSQL, pesquisa, point, proximidade, são paulo, sort, sp, spigandoeaprendendo, type. Bookmark the permalink. 1 Comentário.
Valeu jovem, ajudou bastante aqui!