Polecenie można wykonać za pomocą metody „polecenie” obiektu DB w sterowniku Java. Dokumentację API można znaleźć tutaj:http://api.mongodb.org/java/current/com/mongodb/DB.html#command%28com.mongodb.DBObject%29
Oto jak można wykonać polecenie za pomocą sterownika 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());
Dodałem kilka instrukcji System.out.println, dzięki czemu możesz zobaczyć, jak wygląda dokument polecenia, oraz ciąg reprezentujący wyniki, które są zwracane.
Możesz dodać num :1 do dokumentu polecenia, aby ograniczyć wyniki do 1.
myCmd.append("num", 1);
Jest to odnotowane w dokumentacji geoNear:http://www.mongodb .org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-geoNearCommand
Mam nadzieję, że dzięki temu zaczniesz. Powodzenia!