hideto 发表于 2013-1-30 01:53:53

Rails3 and MongoDB Quick Guide

Install MongoDB
Download:
http://www.mongodb.org/downloads
Extract the files to a directory(e.g, /opt/mongodb)

Create data directory:
$ sudo mkdir -p /data/db

Start MongoDB server:
$ sudo /opt/mongodb/bin/mongod

Start shell and connection to MongoDB server for test:
$ /opt/mongodb/bin/mongo> db.foo.save( { a : 1} )> db.foo.find()> exit

Install Rails3 and mongo_mapper
sudo gem install railssudo gem install mongo_mappersudo gem install bson_ext

Create Rails project that use MongoDB
Create project:
$ rails new MongoDBTest --skip-active-record

Edit the Gemfile:
gem 'rails', '3.0.3'gem 'mongo_mapper'gem 'bson_ext'

Create config/initializers/mongo.rb:
MongoMapper.connection = Mongo::Connection.new('localhost', 27017)MongoMapper.database = "MongoDBTest-production"if defined?(PhusionPassenger)PhusionPassenger.on_event(:starting_worker_process) do |forked|    MongoMapper.connection.connect_to_master if forkedendend

Create a model app/models/user.rb:
class Userinclude MongoMapper:Documentkey :nameend

Start Rails Console for test:
$ rails console production>> User.create(:name => "User A")=> #<User name: "User A", _id: BSON::ObjectId('4d01c70d98d1b1072b000001')>>> User.create(:name => "User B")=> #<User name: "User B", _id: BSON::ObjectId('4d01c70f98d1b1072b000002')>>> User.all=> [#<User name: "User A", _id: BSON::ObjectId('4d01c70d98d1b1072b000001')>, #<User name: "User B", _id: BSON::ObjectId('4d01c70f98d1b1072b000002')>]
页: [1]
查看完整版本: Rails3 and MongoDB Quick Guide