Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mongodb集合中存储纬度和经度?如何与弹簧配合使用?_Mongodb_Spring Mvc_Geolocation - Fatal编程技术网

如何在mongodb集合中存储纬度和经度?如何与弹簧配合使用?

如何在mongodb集合中存储纬度和经度?如何与弹簧配合使用?,mongodb,spring-mvc,geolocation,Mongodb,Spring Mvc,Geolocation,我想找到附近的位置,所以像这样插入记录 db.locationcol.insert({"location":"phase 8,mohali ,punjab ,india","service":"psychologist","loc":{"lon":76.703347,"lat":30.710459}}) 然后在终端上执行查询 db.runCommand( { geoNear: "locationcol", near: { type: "Point", coordinates: [ 76.720

我想找到附近的位置,所以像这样插入记录

db.locationcol.insert({"location":"phase 8,mohali ,punjab ,india","service":"psychologist","loc":{"lon":76.703347,"lat":30.710459}})
然后在终端上执行查询

db.runCommand(
{
geoNear: "locationcol",
near: { type: "Point", coordinates: [ 76.720845, 30.712097 ] },
spherical: true,
query: { category: "public" }
})
但是它又回来了

{ "ok" : 0, "errmsg" : "no geo indices for geoNear" }
我也试着用Spring

public GeoResults getnearby(double longitude,double latitude, String service) {

Point point = new Point(longitude,latitude);

Query query = new Query(Criteria.where("service").is(service));

query.fields().include("service").include("location").include("loc");

NearQuery nearQuery = NearQuery.near(point).maxDistance(new Distance(50, Metrics.KILOMETERS));
nearQuery.query(query);
nearQuery.num(20);

GeoResults<locationcol> data = operations.geoNear(nearQuery, locationcol.class,"locationcol");

return data;
}
public Georgesults GetNearest(双经度、双纬度、字符串服务){
点=新点(经度、纬度);
查询查询=新查询(条件。其中(“服务”)。为(服务));
query.fields().include(“服务”).include(“位置”).include(“loc”);
NearQuery NearQuery=NearQuery.near(point).maxDistance(新距离(50,Metrics.km));
nearQuery.query(查询);
nearQuery.num(20);
GeoResults data=operations.geoNear(nearQuery,locationcol.class,“locationcol”);
返回数据;
}

这段代码返回的是空列表。我不会在哪里出错。救命

在执行地理空间查询之前,需要创建:

此外,您需要将位置存储为有效对象,以便MongoDB能够正确解析它们:

loc : { type: "Point", coordinates: [ -76.703347, 30.710459 ] },
可能重复的
loc : { type: "Point", coordinates: [ -76.703347, 30.710459 ] },