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:

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
# 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])
<!-- 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>

Eingestellt am 28.12.2009 um 12:05

Kategorie: Tutorials

Speichern / Merken / Weitersagen:
  • Print
  • PDF
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • LinkedIn
  • Live
  • MisterWong.DE
  • MisterWong
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Tumblr
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg
  • Slashdot
  • Twitter
  • Twitthis

Kommentare für diesen Artikel wurden geschlossen.

Suchen auf rubyonrails.de

Aktuelle Rails Version + Abhängigkeiten:

Gem rails-3.0.0
actionmailer (= 3.0.0, runtime)
actionpack (= 3.0.0, runtime)
activerecord (= 3.0.0, runtime)
activeresource (= 3.0.0, runtime)
activesupport (= 3.0.0, runtime)
bundler (~> 1.0.0, runtime)
railties (= 3.0.0, runtime)

Rails auf Rubyforge
Rails auf Github