jugyo.wordpress.com

Yet another jugyo's blog

MongoDB 体験記

leave a comment »

環境: Mac OSX 10.5.8

インストール 〜 起動

wget で tgz を取ってきて解凍して DB 用の適当なディレクトリ作って bin/mongod コマンドを叩けばすぐに起動できる。

wget http://downloads.mongodb.org/osx/mongodb-osx-i386-1.2.2.tgz
tar xvzf mongodb-osx-i386-1.2.2.tgz
cd mongodb-osx-i386-1.2.2
mkdir ~/tmp/db
bin/mongod --dbpath ~/tmp/db

Ruby から使う

ライブラリのインストール

gem install mongo_ext

簡単な使い方

“foo” というデータベースの “test” というコレクション(テーブルみたいなもの?)に {‘a’ => 10} というような Hash オブジェクトを突っ込む。

# mongodb example
require 'rubygems'
require 'mongo'

db = Mongo::Connection.new.db('foo')
coll = db.collection('test')

coll.remove

coll.insert({'a' => 10})
coll.insert({'b' => 20})
coll.insert({'c' => 30})

coll.find().each { |doc| puts doc.inspect }

たぶん、デフォルトで localhost の MongoDB に接続しにいってるんだろうな。

GridFS

GridFS (MongoDB で動作するファイルシステムみたいなもの?)を使ってみる。

“test.txt” というファイルに “Hello, world!” という文字列を書き込んだあとにファイルの内容を読み込んで画面に出力する。

# mongodb GridFS example
require 'rubygems'
require 'mongo'
require 'mongo/gridfs'

include GridFS

db = Mongo::Connection.new.db('grid')

GridStore.open(db, 'test.txt', 'w') do |f|
  f.puts "Hello, world!"
end

GridStore.open(db, 'test.txt', 'r') do |f|
  puts f.read
end

画像とかも保存できるんかな。

次回

次はアクセス制御とかのところを調べたい。

Advertisements

Written by jugyo

February 4, 2010 at 22:50

Posted in Uncategorized

Tagged with , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: