我有我已经使用的Active Record和我想补充使用MongoDB的一些新功能的项目。而不是重新发明轮子和重新写我的整个网站,如何可以集成2个模型一起,其中一个使用MongoMapper和其他的ActiveRecord(postgres的)。

我发现,别人已经成功地做到了,但没有例子:

HTTP://组.google.com /组/ mongomapper / browse_thread /线程/ ec5ad00e18e7dd2c / 887b8b0b904a8f73?LNK = GST&q =了activerecord#887b8b0b904a8f73

例如,我有欲涉及位置的现有的ActiveRecord模型...即城市场所的STI蒙戈模型(一个或多个)。基于Authlogic用户模型......我怎么能使用他们的音乐会?我会在正确的方向上或两个指针感谢。

谢谢,

有帮助吗?

解决方案

此精美制作

的地方模型

  key :location_id, Integer, :required => true

    def location
        Location.find(location_id)
    end

的位置模型

  def self.find_places(id)
    Property.find_by_location_id(id)
  end

  def find_places
    Property.find_by_location_id(id)
  end

其他提示

您也可以使用类型转换。

而不是仅仅存储在MongoDB中的LOCATION_ID,可以实现类的方法,from_mongoto_mongo,在Location类,允许mongomapper连载每个位置例如在蒙戈安全和友好的方式。

简单(ISTC)示例:

<强>地方模型

key :location, Location, :required => true

位置模型

def self.to_mongo(location)
  location[:id]
end

def self.from_mongo(location_id)
  find(location_id)
end

此,当然,是完全相同的例子如前面的答案。这里的很酷的事情是,如果需要的话可以序列完整的字符串,用更多的数据,从而更容易查询和蒙戈检索数据。

例如,LOCATION_ID和坐标,让你可以模仿一个地理数据库和地图/减少同纬度的地方。 (笨例如,我知道)

参考:更多MongoMapper Awesomenes

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top