MongoDB地理空间查询计数问题(始终为100)

时间:2011-07-01 00:51:08

标签: mongodb geospatial

地理空间查询的计数操作似乎存在问题,其中包含超过100个结果。如果我运行以下查询,无论如何我都会得到100的计数。

db.locations.find({"loc":{$nearSphere:[50, 50]}}).limit(1000).count()

我理解使用“near”语法的查询的默认大小限制为100,但看起来您不能返回更多。我做错了什么或有解决方法吗?

3 个答案:

答案 0 :(得分:2)

尝试“在...内”而不是“近”。 这对我有用,

center = [50, 50];
radius = 1/111.12; //convert it to KM.

db.places.count({"loc" : {"$within" : {"$center" : [center, radius]}}})

我在https://jira.mongodb.org/browse/SERVER-856

找到了这个

答案 1 :(得分:0)

对于它的价值,即使为光标报告的计数为100(无论您给出查询的限制,甚至是“10”),当您运行查询时,实际上会得到“限制”数量的结果

这是一个问题的链接,他们声称它没有被破坏:

希望有所帮助!

答案 2 :(得分:0)

这不是mongo查询的问题。尝试使用cursor.size()而不是cursor.count()。 Count不考虑大小的限制。因此,如果使用.size()而不是count(),则应该打印出正确数量的返回项。

查看此堆栈溢出Q和A,以找到解决问题的明确方法。 Difference between cursor.count() and cursor.size() in MongoDB