3

我正在使用 Rails、Mongoid 和 Geocoder。我的问题是Location.near将返回的结果限制为 100,即使对于应该产生超过 100 的结果也是如此。我需要一种方法来返回任何位置的所有结果。

Location.near([28.4989, -87.7271], 1).count
=> 100

我尝试了几种方法,看起来我应该做类似于以下的事情,它仍然返回 100。

Location.near([28.4989, -87.7271]).limit(200).count
=> 100

编辑: 这似乎是该方法的一个已知问题,near其默认限制为 100。我能够找到一个返回所有结果的 Mongoid 查询。

Location.where(:coordinates.within => { "$center" => [ [-87.7271, 28.4989], 0.01] }).count
=> 186
4

1 回答 1

2

看来这是该near方法的一个已知问题,其默认限制为 100。我能够找到一个返回所有结果的 Mongoid 查询。

Location.where(:coordinates.within => { "$center" => [ [-87.7271, 28.4989], 0.01] }).count
=> 186
于 2012-09-09T05:24:32.833 回答