我有一个像picture这样的geoJSON数据库。我需要使用$near
命令通过给出坐标进行过滤。那么请你帮我做一下这个查询以及如何在java中做这个。
Java代码:
public BasicDBObject nearestpoint(DBCollection collection, double
longitude, double Latitude, int near_distance) {
final LinkedList circle = new LinkedList();
circle.addLast(new double[] {
longitude, Latitude
});
circle.addLast(near_distance);
BasicDBObject q = new BasicDBObject("loc", new BasicDBObject("$near", new BasicDBObject("$geometry", new BasicDBObject("Point", circle))));
System.out.println("nearestpoint function done");
return q;
}
答案 0 :(得分:0)
我有nodejs代码使用$ geoNear。以下是摘录:
db.MYCOLLECTION.aggregate([ { $geoNear: { near: [lon, lat], distanceField: "distance", maxDistance: distance/3963.2,distanceMultiplier:3963.2, spherical: true, limit: 5000} } ], function(err, items){});
哪里,lon,lat是你的坐标。距离是您距离当前位置的距离。这将给出以英里为单位的距离。