使用Geocoder进行Mongoid查询

时间:2011-05-19 11:25:58

标签: ruby mongodb sinatra mongoid

我一直在浏览mongoid文档,Geocoder文档,并问过一位朋友,但我仍然有点卡在这上面。我有两个模特,事件和地点:

class Event
  include Mongoid::Document
  belongs_to :place
end

class Place
  include Mongoid::Document
  has_many :events
end

我已经设置了这些,以便Event.placePlace.events正常工作,抛出我的是将Geocoder near方法合并到查询中。目前Place.near(location)工作正常,我想要做的是按位置查询事件,因此Event.place.near(location)

我尝试过这样的事情:

@events = Event.where('event.place' => near(location)

@events = Event.where(place.near(location))

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这不是

place.near(location).events.all

您可以查询

等事件
place.near(location).events.where(....

答案 1 :(得分:0)

在mongoDB中处理Geocoder和一般位置时,您可以受益的非常有用的宝石:

https://github.com/ryanong/mongoid_spacial