![](/img/trans.png)
[英]Mongo DB - Geospatial Queries with location and field radius(Internal field comparision)
[英]Geospatial Queries in mongo db is not working with $maxdistance
我在mongodb中使用地理空間索引來查找和列出db中特定位置附近的對象。 在這里,我使用$near
和$maxDistance
查找特定公里范圍內的對象。 我在給$maxDistance
的值時感到困惑。 誰能幫助我了解我想為$maxDistance
給出什么值(km,m或rad)? 這是我的數據庫結構:
{
"_id" : ObjectId("556719a7e0550ca9d16ca303"),
"Name" : "Apl",
"loc" : [
11.485489,
77.247103
]
}
{
"_id" : ObjectId("556719b1e0550ca9d16ca304"),
"Name" : "Ind",
"loc" : [
11.462442,
77.252167
]
}
{
"_id" : ObjectId("556719bfe0550ca9d16ca305"),
"Name" : " Ara ",
"loc" : [
11.452179,
77.276629
]
}
{
"_id" : ObjectId("556719eae0550ca9d16ca306"),
"Name" : " Akodi ",
"loc" : [
11.455739,
77.299278
]
}
{
"_id" : ObjectId("556719f6e0550ca9d16ca307"),
"Name" : " Kasi ",
"loc" : [
11.459693,
77.328804
]
}
在這里,我使用以下查詢列出了距特定位置5公里的對象。
db.place.find({loc:{$near:[11.503993, 11.503993],$maxDistance:1000}});
上面的查詢返回以下內容:
{ "_id" : ObjectId("556719a7e0550ca9d16ca303"), "Name" : "Apl", "loc" :
[ 11.485489, 77.247103 ] }
{ "_id" : ObjectId("556719b1e0550ca9d16ca304"), "Name" : "Ind", "loc" :
[ 11.462442, 77.252167 ] }
{ "_id" : ObjectId("556719bfe0550ca9d16ca305"), "Name" : " Ara ", "loc"
: [ 11.452179, 77.276629 ] }
{ "_id" : ObjectId("556719eae0550ca9d16ca306"), "Name" : " Akodi ", "loc
" : [ 11.455739, 77.299278 ] }
{ "_id" : ObjectId("556719f6e0550ca9d16ca307"), "Name" : " Kasi ", "loc"
: [ 11.459693, 77.328804 ] }
但是,如果我將查詢與$maxDistance:66
一起使用,則不會返回任何內容。 $maxDistance
應該使用什么值來獲取2公里內的物體?
看起來最小和最大距離以米為單位:
{
$near: {
$geometry: {
type: "Point" ,
coordinates: [ <longitude> , <latitude> ]
},
$maxDistance: <distance in meters>,
$minDistance: <distance in meters>
}
}
弧度與舊式坐標一起使用。
來源: http : //docs.mongodb.org/manual/reference/operator/query/near/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.