2013-05-27 3 views
0

в Монго:с использованием вложенных значений полей

{ 
    "_id": ObjectId("519733333fb6664b5d000000"), 
    "email": "[email protected]", 
    "dates": { 
     "pre_register": "2013-05-18 04:53:38" 
    } 
} 

моя модель:

class Member 
     include Mongoid::Document 
     store_in collection:'member' 

     field :email 
     field :dates 
end 

как использовать поле dates.pre_register? Я пробовал:

field :dates.pre_register 

но без успеха.

ответ

1

Ваша проблема в том, что fieldactually defines string types by default.

Думаю, вы должны думать наоборот. Пусть mongoid сгенерирует документ mongodb для вас. Один из способов добиться того, что вы ищете, чтобы определить другую Mongoid::Document «Date» и имеют свой класс Member вставлять идентификатор, как:

embedds_many :dates 

Это будет работать. Если вы не хотите определять пользовательский Mongoid::Document для этого, просто используйте поле хэша, например:

field :dates, :type => Hash 
+0

спасибо! Я пытаюсь использовать это с rails_admin, но кажется, что этот камень не поддерживает редактирование поля hash/array – Leabdalla

Смежные вопросы