對於包含超過100個結果的地理空間查詢,計算操作看起來存在問題。如果我運行以下查詢,無論如何我仍然可以得到100的計數。MongoDB地理空間查詢計數問題(始終爲100)
db.locations.find({"loc":{$nearSphere:[50, 50]}}).limit(1000).count()
據我所知,使用「near」語法的查詢的默認大小限制是100,但看起來你不能返回更多。我做錯了什麼或有沒有解決方法?
對於包含超過100個結果的地理空間查詢,計算操作看起來存在問題。如果我運行以下查詢,無論如何我仍然可以得到100的計數。MongoDB地理空間查詢計數問題(始終爲100)
db.locations.find({"loc":{$nearSphere:[50, 50]}}).limit(1000).count()
據我所知,使用「near」語法的查詢的默認大小限制是100,但看起來你不能返回更多。我做錯了什麼或有沒有解決方法?
儘管光標計數爲100(不管您給查詢的限制是甚麼「10」),但實際上在您運行時通過返回結果返回「限制」數量的結果查詢。
下面是他們斷言它不破的問題鏈接:
希望幫助!
嘗試「內」而不是「附近」。 這對我的作品,
center = [50, 50];
radius = 1/111.12; //convert it to KM.
db.places.count({"loc" : {"$within" : {"$center" : [center, radius]}}})
這是不符合蒙戈查詢的問題。嘗試使用cursor.size()而不是cursor.count()。 Count沒有考慮尺寸的限制。所以如果你使用.size()而不是count(),你應該從正確數量的返回項目中得到一個打印。
看看這個堆棧溢出Q和A,以清楚地解決您的問題。 Difference between cursor.count() and cursor.size() in MongoDB
出於這個原因,似乎設置了100個結果的默認限制。請參見http://stackoverflow.com/questions/5492901/query-near-vs-within – user890973