如何使用$ near方法查找文档

时间:2015-11-19 19:30:14

标签: mongodb geojson

我有一个像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;


}

1 个答案:

答案 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是你的坐标。距离是您距离当前位置的距离。这将给出以英里为单位的距离。