Screencast: MongoDB und MongoMapper

MongoDB ist eine dokumenten-orientierte Datenbank. In dieser Woche zeigt Ryan wie MongoMapper benutzt werden kann, um auf MongoDB zuzugreifen.

Download

Download (24.1 MB, 13:13)
Alternativer download für iPod & Apple TV (15.3 MB, 13:13)

 

Resourcen:

Quellcode:

[bash]
rails todo
sudo rake gems:install
script/generate nifty_layout
script/generate nifty_scaffold project name:string –skip-migration
script/generate nifty_scaffold task project_id:string name:string completed:boolean –skip-migration
[/bash]

[ruby]
# config/environment.rb
config.gem "mongo_mapper"

# config/initializers/mongo_config.rb
MongoMapper.database = "todo-#{Rails.env}"

# models/project.rb
class Project
include MongoMapper::Document

key :name, String, :required => true
key :priority, Integer

many :tasks
end

# models/task.rb
class Task
include MongoMapper::Document

key :project_id, ObjectId
key :name, String
key :completed, Boolean

belongs_to :project
end

# script/console
Project.all
Project.all(:order => "name")
Project.all(:priority => 3)
Project.all(:priority.gte => 2)
Project.all(:priority.in => [2, 3])
[/ruby]

[html]
<!– projects/_form.html.erb –>
<p>
<%= f.label :priority %><br />
<%= f.select :priority, [1,2,3,4,5] %>
</p>

<!– tasks/_form.html.erb –>
<p>
<%= f.label :project_id %><br />
<%= f.collection_select :project_id, Project.all, :id, :name %>
</p>
[/html]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.