2013-10-28 37 views
1

我已經存儲了一些從api流向api的twitter到MongoDB。他們都在傑森格式且具有屬性如下圖所示:select mongodb附近的特定座標

"geo" : { "type" : "Point", "coordinates" : [ 42.03759247, -71.82113956 ] } 

我只是想知道什麼是正確的查詢選擇附近的特定座標鳴叫。我這樣做:

db.tweets.find({ coordinates : { $near : [151.1955562233925,-33.87107475181752] , $maxDistance : 1000} }) 

但它沒有工作。謝謝您的回答!

回答

1

this page,您必須首先創建一個地理空間索引,以便能夠在地理查詢:現在

,序由地理座標來查詢,我們需要在創建索引 我們經銷商文件的「loc」字段。

db.dealerships.ensureIndex({loc:"2d"}) 

因此,嘗試這樣的事:

db.tweets.ensureIndex({"coordinates":"2d"}) 

您可能還需要改變你的「地理」屬性匹配下面的結構(我不知道這部分) :

"geo" : { "type" : "Point", "coordinates" : { "lon":42.03759247, "lat":-71.82113956 } } 
+0

它的工作原理!非常感謝! –

1

這個工作對我來說:

db.tweets.ensureIndex({"coordinates.coordinates":"2d"}) 

查詢:

db.tweets.find({"coordinates.coordinates": {$near:[-1,-53]}}).limit(2) 
相關問題