Ruby on rails Mongoid Object.all似乎返回了很多[]

Ruby on rails Mongoid Object.all似乎返回了很多[],ruby-on-rails,mongodb,mongoid,Ruby On Rails,Mongodb,Mongoid,为什么这不起作用: ruby-1.8.7-p249 > List.create :search_terms => 'foo' => #<List _id: 4c9044a02249c7a5e2000001, search_terms: "foo", user_id: nil> ruby-1.8.7-p249 > List.all => #<Mongoid::Criteria:0x1030dea90 @klass=List, @documen

为什么这不起作用:

ruby-1.8.7-p249 > List.create :search_terms => 'foo'
 => #<List _id: 4c9044a02249c7a5e2000001, search_terms: "foo", user_id: nil> 

ruby-1.8.7-p249 > List.all
 => #<Mongoid::Criteria:0x1030dea90 @klass=List, @documents=[], @selector={}, @options={}> 

ruby-1.8.7-p249 > List.all.documents
 => [] 
ruby-1.8.7-p249>List.create:search\u terms=>'foo'
=> # 
ruby-1.8.7-p249>List.all
=> # 
ruby-1.8.7-p249>List.all.documents
=> [] 

我想你要找的是:

List.all.to_a

但这是可行的:ruby-1.8.7-p249>List.all.map{l}[#,#,#,#]我想这与它们执行延迟加载的方式有关。这意味着在访问记录时(例如通过#map、#each或#[])获取记录。也许可以尝试
x=List.all;x、 第一,;x、 文档
看看这是否是问题所在?@cleamensp-我对你的答案投了赞成票。但你们并没有详细解释解决方案。请描述一下答案,这将非常有帮助。