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

Calcular distância em Java usando MongoDB


Você pode executar o comando com o método "command" do objeto DB no driver Java. A documentação da API pode ser encontrada aqui:http://api.mongodb.org/java/current/com/mongodb/DB.html#command%28com.mongodb.DBObject%29

Aqui está como o comando pode ser executado usando o driver Java:
BasicDBObject myCmd = new BasicDBObject();
myCmd.append("geoNear", "data");
double[] loc = {-73.9000, 40.7000};
myCmd.append("near", loc);
myCmd.append("spherical", true);
myCmd.append("maxDistance", (double)2500/6378137);
myCmd.append("distanceMultiplier", 6378137);
System.out.println(myCmd);
CommandResult myResult = db.command(myCmd);
System.out.println(myResult.toString());

Adicionei algumas instruções System.out.println, para que você possa ver como é o documento de comando e uma representação de string dos resultados que são retornados.
Você pode adicionar num :1 ao documento de comando para limitar os resultados para 1.
myCmd.append("num", 1);

Isso é observado na documentação do geoNear:http://www.mongodb .org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-geoNearCommand

Espero que isso vai começar. Boa sorte!