2
我的mongo版本是3.2.6mongodb中的maxDistance:通過數據查找附近的問題
我的表是restaurant_locations。如下
我已經給指數:此表中存儲
db.restaurant_locations._ensureIndex({'location': '2dsphere'});
的數據如下:
> db.restaurant_locations.find().pretty();
{
"_id" : ObjectId("573ff477df3c12bdd6463d07"),
"location" : {
"type" : "Point",
"coordinates" : [
72.5220332,
23.0656791
]
}
}
{
"_id" : ObjectId("573ff5badf3c12bdd6463d08"),
"location" : {
"type" : "Point",
"coordinates" : [
62.5220332,
13.0656791
]
}
}
現在,當我火了以下查詢:
db.restaurant_locations.find({
location: {
$near: {
$geometry: {
type: 'Point',
coordinates: [ 70, 20 ]
},
$maxDistance: 100000000
}
}
});
我得到這兩個記錄作爲輸出:
{ "_id" : ObjectId("573ff477df3c12bdd6463d07"), "location" : { "type" : "Point", "coordinates" : [ 72.5220332, 23.0656791 ] } }
{ "_id" : ObjectId("573ff5badf3c12bdd6463d08"), "location" : { "type" : "Point", "coordinates" : [ 62.5220332, 13.0656791 ] } }
現在,當我執行以下查詢:
db.restaurant_locations.find({
location: {
$near: {
$geometry: {
type: 'Point',
coordinates: [ 70, 20 ]
},
$maxDistance: 1000000
}
}
});
我只得到一個記錄作爲輸出:
{ "_id" : ObjectId("573ff477df3c12bdd6463d07"), "location" : { "type" : "Point", "coordinates" : [ 72.5220332, 23.0656791 ] } }
- 我沒有得到究竟如何$ maxDistance工作。
- 我想在10公里的距離內找到餐館,那麼確切的事情是什麼,我需要通過$ maxDistance?
- 假設我的座標是40和20,所以如果我想在10kms以內的餐廳,以上兩個記錄顯示?
我剛纔提到很多MongoDB的文檔,計算器的問題,但我沒有得到確切的想法,它是如何工作
預先感謝幫助
我執行您指定的查詢,但仍然沒有給出任何輸出,如果我將「10000」替換爲「1000000」,我得到一個記錄 –