对于包含超过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