質問

私はアクティブレコードを使用していると私はMongoDBのを使用して、いくつかの新機能を追加したいどのプロジェクトを持っています。むしろ再発明ホイールと再書き込みサイト全体、どのように私はMongoMapperや他のActiveRecord(postgresの)を使用して1、2つのモデルを一緒に統合することができます。

より

私は他の人が成功し、それを行っていることがわかってきましたが、ありません例:

ます。http://グループ.google.com /グループ/ mongomapper / browse_thread /スレッド/ ec5ad00e18e7dd2c / 887b8b0b904a8f73?LNK = GST&Q =のActiveRecord#887b8b0b904a8f73する

たとえば、私は場所の既存のActiveRecordのモデルに関連したい場所のSTI Mongoのモデル(複数可)を持っている...つまり都市。そして、私はコンサートでそれらを使用する方法Authlogicに基づいてUserモデル...?私は正しい方向へのポインタまたは2に感謝するだろう。

おかげで、

役に立ちましたか?

解決

この美しく働いていた。

場所モデル

  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のを格納する

、あなたはmongomapperはモンゴ優しい安全と-的に各場所のインスタンスをシリアル化できるようにする場所クラスのクラスメソッド、from_mongoto_mongoに実装することができます。

シンプル(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の座標は、あなたが/ geodbとマップを模倣することができるように、同じ緯度に場所を減らします。 (愚かな例、I知っている)

参考:もっとMongoMapper Awesomenesする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top