Sorgu,

2011-03-30 16 views
5

ile karşılaştırılıyor MongoDB kullanımı Lat/long'ın 25 mil içinde olan evleri araştırıyorum.Sorgu,

bu yüzden gibi yakın komutunu, kullanılan yapmaya ilk denemesi:

var near = Query.Near("Coordinates", coordinates.Latitude, coordinates.Longitude, find.GetRadiansAway(), false); 
var query = Collection().Find(near); 
var listings = query.ToList(); 
yakın olan sorunu ben koordinatların 25 mil içindeki tüm listeleri dönmek istiyorum oysa sadece 100 listelerini döndürür olmasıdır

. yakın yaptığı gibi ancak bunlar merkeze ne kadar yakın göre sıralamak değil, büyük 25 mil içinde

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

tüm girişlerde koordinatları:

Benim sonraki girişimi içinde kullanmaktı .

Benim sorum şu ki, her iki dünyanın en iyisini nasıl elde edebilirim? Tüm listeleri 25 mil içinde nasıl alabilirim ve merkez koordinatlarına yakınlıklarına göre sıralamalı mı?

cevap

11

Coğrafi konum $near sorguları, 100 sonuçtan oluşan bir varsayılan limit() ayarlayın. Yeni limit() ayarlayarak fazla sonuç elde etmek mümkün olmalıdır.

"Yakın" sorguları uzaklığa göre sıralanırken, "içeride" ("içinde" varsayılan sınırı yoktur) olmamasına rağmen.

+1

Bir problemin çözümü 1 satır kod olduğunda her zaman mutlu oluyorum. – Justin