我已经设置了rails3 + mongoid应用程序,当我打开rails控制台时,找不到任何查找器 - http://d.pr/FNzC
User.all
User.find(:all, :conditions => { first_name => "John" })
都返回:
#<Mongoid::Criteria
selector: {},
options: {}>
我做错了吗?
答案 0 :(得分:58)
好的,所以这是让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只返回一个数组。
答案 1 :(得分:1)
试试这个:
User.all.first
User.find(:first, :conditions => {:first_name => 'John'})
User.where(:first_name => 'John').first
答案 2 :(得分:1)
这很好用..
User.all.entries