mongoid是否有某种类型的find_by_sql等价物,你传递mongo查询并从结果中实现Mongoid :: Document?
答案 0 :(得分:8)
Mongoid包装Collection对象以返回正确类的对象。
因此,如果User是Mongoid模型:
cursor = User.collection.find({}, {}) # Just like the Ruby driver...
records = cursor.to_a # An array of User objects
编辑添加:它实际上也包装了Mongo的Cursor类。 See here:
def each
@cursor.each do |document|
yield Mongoid::Factory.build(@klass, document)
end
end
答案 1 :(得分:2)
如果您正在使用Mongoid 3,它可以轻松访问其MongoDB驱动程序:Moped。以下是访问一些原始数据而不使用模型访问数据的示例:
db = Mongoid::Sessions.default
collection = db[:collection_name]
# finding a document
doc = collection.find(name: 'my new document').first
collection.find.each do |document|
puts document.inspect
end