Это зависит от используемой вами ORM.Хотя ActiveRecord действительно получает схему из базы данных, Mongoid предлагает аннотировать ваши модели.Вот одна из моделей из моего текущего проекта:
class DailyStat
include Mongoid::Document
identity :type => String
field :app_id, :type => Integer
field :date, :type => DateTime
field :stats, :type => Hash
field :totals, :type => Hash
field :counts, :type => Hash
end
Это так из-за бессхемного характера MongoDB.Без таких объявлений все поля будут иметь динамический тип (по умолчанию String).А объявления помогают применять типы.
Кроме того, с MongoDB у вас нет миграций, и annotate gem здесь не поможет.