sql >> Database teknologi >  >> NoSQL >> MongoDB

Beregn distance i Java ved hjælp af MongoDB

Du kan udføre kommandoen med "kommando"-metoden for DB-objektet i Java-driveren. API-dokumentationen kan findes her:http://api.mongodb.org/java/current/com/mongodb/DB.html#command%28com.mongodb.DBObject%29

Her er, hvordan kommandoen kan udføres ved hjælp af Java-driveren:

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());

Jeg tilføjede nogle System.out.println-sætninger, så du kan se, hvordan kommandodokumentet ser ud, og en strengrepræsentation af de resultater, der returneres.
Du kan tilføje num :1 til kommandodokumentet for at begrænse resultaterne til 1.

myCmd.append("num", 1);

Dette er noteret i geoNear-dokumentationen:http://www.mongodb .org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-geoNearCommand

Forhåbentlig vil dette få dig i gang. Held og lykke!



  1. Hvordan kan jeg fjerne ældre poster fra en samling i MongoDB?

  2. MongoDB Compass problem med WSL2

  3. Sådan bygger du dynamisk mongodb-forespørgsel

  4. er kort/reducer passende til at finde medianen og tilstanden for et sæt værdier for mange poster?