Монгоидный эквивалент метода `serialize` ActiveRecord - PullRequest
9 голосов
/ 18 августа 2011

надеюсь, заголовок довольно понятен.

Я использую mongoid в качестве ORM для приложения на Rails, и мне было интересно, знает ли кто-нибудь, есть ли у него эквивалент serialize метода ActiveRecord. Я просмотрел документацию по mongoid, но пока ничего не смог найти.

Вот пример модели:

class Foo
  include Mongoid::Document

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

Заранее спасибо!

Ответы [ 2 ]

19 голосов
/ 18 августа 2011

Вам не нужно сериализовать с MongoDB, поскольку вы можете хранить их в полях Arrays и Hashes.

field :hash_params, type: Hash
field :array_params, type: Array
0 голосов
/ 23 июня 2014

Иногда вам нужно использовать шаблон «Объект-значение» и ту же функцию, что compoted_of, некоторые люди хотят отказаться от этой функции в будущем, а затем вы хотите использовать serialize стандартной активной записи. Mongoid предоставляет те же функциональные возможности для создания объекта Value, избегая внешнего вида метода serialize, здесь вы можете указать свою пользовательскую сериализацию 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
...