2011-08-18 6 views
9

タイトルはかなり自明です。ActiveRecordの `serialize`メソッドと同等のモンゴイイド

私は、レールアプリケーションのORMとしてmongoidを使用しています。ActiveRecordのserializeメソッドと同等のものがあるかどうかは知っていましたか?私はモンゴイドの文書を見てきましたが、まだ何かを見つけることができませんでした。ここで

は、モデルの例です:事前に

class Foo 
    include Mongoid::Document 

    field :params, type: String 
    serialize :params   # method from ActiveRecord 
end 

ありがとう!

答えて

18

MongoDBでシリアライズする必要はありません.ArraysとHashのフィールドに格納することができます。

field :hash_params, type: Hash 
field :array_params, type: Array 
+0

おかげでそんなに - can'tは、私は(まだSQLを使用)それについて忘れてしまったと考えています。私はあなたの答えをstackoverflowできるようにすぐに受け入れるよ。 – mportiz08

0

時々、あなたは何人かの人々が将来的に、あなたは標準のアクティブなレコードのserializeを使用するよりも、この機能を廃止しようと、値オブジェクトパターンとcomposed_ofように同じ機能を使う必要があります。 Mongoidはserializeメソッドの外観を避けるValueオブジェクトを作成するために、同じ機能を提供し、あなたがここにhttp://mongoid.org/en/mongoid/docs/documents.html#custom_fieldsをカスタムシリアライズを提供することができます。

class Foo 
    include Mongoid::Document 

    field :params, type: String 
    field :custom_params , type: MyCustomParamsType 
end 
関連する問題