sql >> Base de Datos >  >> NoSQL >> MongoDB

Calcular distancia en Java usando MongoDB

Puede ejecutar el comando con el método "comando" del objeto DB en el controlador Java. La documentación de la API se puede encontrar aquí:http://api.mongodb.org/java/current/com/mongodb/DB.html#command%28com.mongodb.DBObject%29

Así es como se puede ejecutar el comando usando el controlador 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());

Agregué algunas declaraciones System.out.println, para que pueda ver cómo se ve el documento de comando y una representación de cadena de los resultados que se devuelven.
Puede agregar num:1 al documento de comando para limitar los resultados a 1.

myCmd.append("num", 1);

Esto se indica en la documentación de geoNear:http://www.mongodb .org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-geoNearCommand

Con suerte, esto te ayudará a comenzar. ¡Buena suerte!