2011-03-30 51 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