class Mongomatic::Cursor
Wraps a Mongo::Cursor for managing result sets from MongoDB:
cursor = User.find({"zip" => 94107}) user1 = cursor.next User.find({"zip" => 94107}).each { |u| puts u["name"] } User.find({"zip" => 94107}).count
Attributes
mongo_cursor[RW]
Public Class Methods
new(obj_class, mongo_cursor)
click to toggle source
# File lib/mongomatic/cursor.rb, line 14 def initialize(obj_class, mongo_cursor) @obj_class = obj_class @mongo_cursor = mongo_cursor end
Public Instance Methods
current_limit()
click to toggle source
# File lib/mongomatic/cursor.rb, line 42 def current_limit @mongo_cursor.limit end
current_skip()
click to toggle source
# File lib/mongomatic/cursor.rb, line 50 def current_skip @mongo_cursor.skip end
each() { |obj_class| ... }
click to toggle source
# File lib/mongomatic/cursor.rb, line 36 def each @mongo_cursor.each do |doc| yield(@obj_class.new(doc, false)) end end
empty?()
click to toggle source
Is the cursor empty? This method is much more efficient than doing cursor.count == 0
# File lib/mongomatic/cursor.rb, line 24 def empty? @mongo_cursor.has_next? == false end
limit(number_to_return)
click to toggle source
# File lib/mongomatic/cursor.rb, line 46 def limit(number_to_return) @mongo_cursor.limit(number_to_return); self end
method_missing(name, *args)
click to toggle source
# File lib/mongomatic/cursor.rb, line 19 def method_missing(name, *args) @mongo_cursor.send name, *args end
next_document()
click to toggle source
# File lib/mongomatic/cursor.rb, line 28 def next_document if doc = @mongo_cursor.next_document @obj_class.new(doc, false) end end
Also aliased as: next
skip(number_to_skip)
click to toggle source
# File lib/mongomatic/cursor.rb, line 54 def skip(number_to_skip) @mongo_cursor.skip(number_to_skip); self end
sort(key_or_list, direction = nil)
click to toggle source
# File lib/mongomatic/cursor.rb, line 58 def sort(key_or_list, direction = nil) @mongo_cursor.sort(key_or_list, direction); self end