使用嵌套字段值

时间:2013-05-27 16:41:04

标签: ruby-on-rails mongodb mongoid

在mongo中:

{
   "_id": ObjectId("519733333fb6664b5d000000"),
   "email": "email@email.com",
   "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 个答案:

答案 0 :(得分:1)

您的问题是field actually defines string types by default

我认为你应该反思。让mongoid为你生成mongodb文档。实现您所寻找目标的一种方法是定义另一个Mongoid::Document“日期”并拥有您的课程 Member将ID嵌入为:

embedds_many :dates

这样可行。如果您不想为此定义自定义Mongoid::Document,只需使用哈希字段,如:

field :dates, :type => Hash