如何从轨道上的ruby上的mongodb集合中的键获取类型

时间:2013-05-31 13:39:56

标签: ruby-on-rails mongodb

最初我以数据类型哈希导入数据,因为我有一个名为schedule的列,我需要从我的数据库中输入特定列“schedule”的类型。 我试过的代码是

       schedule = scheduleWorld.all
       schedule.each do |sec|          
         sec.attributes.each do |key, value, type|
         puts "%%%%%%%%%%%%%%%%%%%%%%%%%"  
         puts  key
         puts  value
         puts  type
         puts "%%%%%%%%%%%%%%%%%%%%%%%%%"   
         end
       end  

由于这种类型为nil,我尝试了另一个代码

  schedule = scheduleWorld.where({schedule:{$type=>2}})

错误是

undefined method `specify' for nil:NilClass
(eval):2:in `where'

有人对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

Type只是mongodb文档属性哈希中的一个键值对。 所以你总是可以像这样获取它。我正在使用Mongoid。 ORM确切的名称可能会有所不同。

       schedule = scheduleWorld.all
       schedule.each do |sec|
         type = sec.attributes["_type"]          
         sec.attributes.each do |key, value|
         puts "%%%%%%%%%%%%%%%%%%%%%%%%%"  
         puts  key
         puts  value
         puts "%%%%%%%%%%%%%%%%%%%%%%%%%"   
         end
       end