无法获取Mongo 2d空间查询以返回超过100个结果

时间:2014-04-10 15:00:17

标签: mongodb

默认情况下,对2d索引的Mongo count()查询最多返回100个结果。我想count()整个结果集。根据计数文档,我可以使用 limit()来绕过这个约束,但这对我不起作用。 MongoDB count.

我已经尝试将限制设置为0(无限制)或1000,但我总是回到100:

db.things.find({loc: { '$near': [ -122.43, 37.79 ],'$maxDistance': 0.12}}).limit(10000).count()
db.things.find({loc: { '$near': [ -122.43, 37.79 ],'$maxDistance': 0.12}}).limit(0).count()

我可以做一个find()并设置一个上限并自己计算结果集,但这似乎是一种低效的方法,需要更多的内存。我也随意设定了另一个限制。

db.things.find({loc: { '$near': [ -122.43, 37.79 ],'$maxDistance': 0.12}}).limit(10000)

// In JS
thingsResult.length > 100

1 个答案:

答案 0 :(得分:1)

在我遇到类似问题之前的某个时间,搜索后我发现它已经被JIRA锁定了。

尝试使用以下查询,它会返回所有文档

cordinate = [ -122.43, 37.79 ];
maxDistance = 0.12 ;

db.location.find({"position" : {"$within" : 
                                      {"$center" : [cordinate , maxDistance ]}
                                }
                  });