2011-03-30 22 views
5

附近的查詢我正在查詢距經緯度25英里以內的房屋。使用MongoDB的

我第一次嘗試做這個用的附近命令,就像這樣:

var near = Query.Near("Coordinates", coordinates.Latitude, coordinates.Longitude, find.GetRadiansAway(), false); 
var query = Collection().Find(near); 
var listings = query.ToList(); 

近的問題是它只返回100名上市,而我要的座標25英里內返還所有目錄。

我的下一個嘗試是內使用:25英里,是偉大的內

var within = Query.WithinCircle("Coordinates", coordinates.Latitude, coordinates.Longitude, find.GetRadiansAway(), false); 
var query = Collection().Find(within); 
var listings = query.ToList(); 

在返回的所有目錄,但它不通過他們對中心如何接近它們排序座標附近等不。

所以我的問題是,我如何獲得兩全其美?我如何獲得25英里以內的所有房源,並按近中心座標分類?

回答

11

地理空間$near查詢設置了100個結果的默認limit()。您應該能夠通過設置新的limit()獲得更多結果。雖然「near」查詢按距離排序,但「within」不是(儘管「within」不具有默認限制)。

+1

當問題的解決方案是1行代碼時,我總是很高興。 – Justin 2011-03-30 22:24:29