Skip to content

solotimes/mongoid_auto_increment_id

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This gem for change Mongoid id field as Integer like MySQL.

Idea from MongoDB document: How to Make an Auto Incrementing Field

Status

CI Status

Installation

gem 'mongoid_auto_increment_id'

REQUIREMENTS

  • Mongoid 2.2.0+

USAGE

ruby > post = Post.new(:title => "Hello world")
 => #<Post _id: , _type: nil, title: "Hello world", body: nil> 
ruby > post.save
 => true
ruby > post.inspect
 => "#<Post _id: 6, _type: nil, title: \"Hello world\", body: nil>" 
ruby > Post.find("6")
 => "#<Post _id: 6, _type: nil, title: \"Hello world\", body: nil>" 
ruby > Post.find(6)
 => "#<Post _id: 6, _type: nil, title: \"Hello world\", body: nil>" 
ruby > Post.desc(:_id).all.to_a.collect { |row| row.id }
 => [20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1]

Performance

with mongoid_auto_increment_id:

      user     system      total        real
Generate 1  0.010000   0.000000   0.010000 (  0.006182)
Post current: 1

Generate 100  0.130000   0.010000   0.140000 (  0.406619)
Post current: 101

Generate 10,000  10.160000   0.560000  10.720000 ( 12.518690)
Post current: 10101

without:

      user     system      total        real
Generate 1  0.000000   0.000000   0.000000 (  0.171523)
Post current: 1

Generate 100  0.110000   0.000000   0.110000 (  0.129670)
Post current: 101

Generate 10,000  9.340000   0.470000   9.810000 ( 11.233426)
Post current: 10101

About

Override id field to MySQL like auto increment for Mongoid

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%