1
for post in db.datasets.find({"loc":{"$near":[50,50]}}).limit(10):
如何獲得文檔與「50,50」之間的距離?當我在MongoDB中進行地理空間查詢時,我該如何返回距離期望點的距離?
for post in db.datasets.find({"loc":{"$near":[50,50]}}).limit(10):
如何獲得文檔與「50,50」之間的距離?當我在MongoDB中進行地理空間查詢時,我該如何返回距離期望點的距離?
使用「geoNear」命令將返回一個「dis」值作爲結果的一部分。將該值乘以地球半徑以您選擇的單位爲單位,可以得出該結果與原始位置之間的距離。
例如,在「地方」是收集併爲您的原點的緯度/經度的名字是50,50
db.command({ geoNear : "places" , near : [50,50] });
將在格式返回結果:
[
{
"dis" : 0.3886630122897946,
"obj" : {
"_id" : ObjectId("4d9123026ccc7e2cf22925c4"),
"pos" : {
"lon" : -10,
"lat" : -20
}
}
}
]
將每個結果的「dis」值乘以6371會給出以km爲單位的距離,而3959給出里程。
在Mongo docs有更多的細節和例子。