使用Mongoid查找集合中的所有文档

use*_*029 8 ruby mongodb mongoid

我一直在摆弄Mongo,但无法让这个简单的例子起作用.我只是想要检索集合中的所有文档:

require 'mongoid'

# configuration ...    

class Category

  include Mongoid::Document
  field :name, type: String

end

Category.each do |test|
  puts test.inspect
end
Run Code Online (Sandbox Code Playgroud)

我收到错误: undefined method 'each' for Category:Class (NoMethodError).

已建立与数据库的连接,名为的集合categories包含一些文档.

Ser*_*sev 13

Category确实没有方法,each因为它是一个模型类,而不是一个集合.但是,它有几种方法可以返回类似集合的对象.其中之一是all.所以代码应如下所示:

Category.all.each do |test|
  puts test.inspect
end
Run Code Online (Sandbox Code Playgroud)