2011-05-25 58 views
1

我Mongoid标准,我能够做当前Mongoid版本2.0.2之前的ID

User.criteria.id(1234)#=>用户#1234

但现在它抛出一个没有方法错误。这是否已更改为其他内容或已被删除?

谢谢您的输入

回答

1

发现了它,他们(mongoid队)做删除mongoid的最新版本的标准#id选择。我之所以不使用Model.find是因为它不会执行延迟加载,其中标准#id会执行此操作。但回到这里的问题。他们取代标准与准则#for_ids#ID

所以Model.criteria.for_ids(“1234”)将工作

2

你总是可以做到这一点:

User.where(:conditions => {:id => '1234'}) 

或者,如果你没有实际需要的标准对象(和只是想ID为“1234”的用户),您可能只是这样做:

User.find('1234') 
+0

感谢theTRON,我挖成mongoid问题GitHub的页面,并找到了答案,请参阅我的回答下面如果你有兴趣 – 2011-05-30 23:22:37