module Mongoid::AutoIncreaseId

Constants

VERSION

Public Instance Methods

generate_id() click to toggle source
# File lib/mongoid/auto_increase_id.rb, line 13
def generate_id
  o = Mongoid::Sessions.default.command({:findAndModify => "mongoid.auto_increment_ids",
    :query  => { :_id => collection_name.to_s },
    :update => { "$inc" => { :c => 1 } },
    :upsert => true,
    :new    => true })
  o["value"]["c"].to_i
end
max_id() click to toggle source
# File lib/mongoid/auto_increase_id.rb, line 29
def max_id
  o = Mongoid::Sessions.default["mongoid.auto_increment_ids"].where(_id: collection_name.to_s).find.first
  o.nil? ? 0 : o[:c]
end
reset_id_counter(value = 0) click to toggle source
# File lib/mongoid/auto_increase_id.rb, line 22
def reset_id_counter(value = 0)
  Mongoid::Sessions.default.command({:findAndModify => "mongoid.auto_increment_ids",
    :query  => { :_id => collection_name.to_s },
    :update => { "$set" => { :c => value } }
    })
end