本文介绍了在数据库查询中按经纬度对位置进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- 在数据库(MongoDB)中存储的对象有
latitude and longitude
。 - 例如,我在服务器(Tomcat)上与
latitude and longitude
有指针。
我要创建query
,它将根据对象的latitude and longitude
,按距离该点的距离(从最近到最远)对所有对象进行排序。
有没有人能帮帮我,怎么做这样的查询?我只是不知道当我只有latitude and longitude
时如何按距离排序的规则。
数据库中的对象结构:{"id","name","latitude","longitude"}
推荐答案
从Mongo DB帮助页面-您可以使用$NEAR 所有结果从所需的点数开始从最近的一个到最远的一个排序
MongoDB near help ...
语法:
{
$near: {
$geometry: {
type: "Point" ,
coordinates: [ <longitude> , <latitude> ]
},
$maxDistance: <distance in meters>,
$minDistance: <distance in meters>
}
}
和可用的示例
db.places.find(
{
location:
{ $near :
{
$geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] },
$minDistance: 1000,
$maxDistance: 5000
}
}
}
)
这篇关于在数据库查询中按经纬度对位置进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!