В Ruby в настоящее время существует 3 ODM (картопостроители данных объектов) сохраняются:
Который является Вашим предпочтительным и почему?
Я использую MongoMapper. Это хорошо, за исключением того, что он немного медленный с преобразованием времени.
И он загружает все данные как массив. MyCollection.all
, например, дает вам огромный массив, а не курсор.
, а Mongoid говорит: - Оптимизирован для использования с очень большими наборами данных.
Думаю, вы можете попробовать MongoID, если вам нужна скорость и большие наборы записей.
Я могу порекомендовать MongoMapper, так как он также работает с rails3 (бета и мастер). Я лично не пробовал другие 2 мапппера, о которых вы упомянули, так как MM отлично работает в моем рабочем процессе, а список рассылки очень активен. Кроме того, кодовая база действительно стабильна, и единственная проблема связана с мастером rails3, поэтому вам следует использовать ветку fredwu, которая уже включает исправления для текущих изменений мастера rails3 на form_for: http://github.com/fredwu/mongomapper. git
Я пробовал MongoMapper, но думаю, что выберу Mongoid, потому что после быстрого прочтения документации мне это кажется несколько проще. Кроме того, он разработан ребятами из Hashrocket, так что это само по себе веская причина.