我已经设置了一个 Rails3+mongoid 应用程序,当我打开 Rails 控制台时,所有查找器似乎都不起作用 -http://d.pr/FNzC http://d.pr/FNzC
User.all
User.find(:all, :conditions => { first_name => "John" })
两者都返回:
#<Mongoid::Criteria
selector: {},
options: {}>
难道我做错了什么?
好吧,这就是 mongoid 让新手感到恼火的部分原因。人们期望像 User.all 这样的方法实际上返回一个数组,而实际上它只是返回 Criteria 对象。
为了提供可链接方法和其他奇特查询机制的语法糖,Mongoid 似乎使用了延迟加载类型的东西。
你可以做:
#array index
User.all[0]
#first/last
User.all.first
#each over things, print out all the users
User.all.each {|u| p u}
#edit, I forgot to include this, which is probably what you really want
#this spits out an array
User.all.to_a
对于来自 ActiveRecord 的新手来说,快速验证事情是否正常是很困难的,因为 User.all 只返回一个数组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)