月曜日, 6月 10, 2013

Couchbase Client Library Rubyを使ってドキュメントの追加と削除をやってみる

Couchbase Client Library Rubyを使ってドキュメントの追加と削除をやってみましょう!
このライブラリのメリットは以下の通りです。

・インストールは簡単
・サーバーとバケットを指定するだけでCouchbaseにアクセス可能
・「Client.なにがし」で、データの追加や削除が可能

さっそく使ってみますよ!


詳しいマニュアル
http://www.couchbase.com/jp/develop/ruby/current


Documentを追加・更新するときのコマンドと挙動について
新規追加は2種類、変更用に1種類ありますが、「client.set」はキーが既になければ追加、あれば更新(上書き)するのでとても便利ですが、キーがないときはエラー処理に回したいなどの要望があれば、きちんと使い分けましょう。

client.add client.set client.replace
新規 ×
上書き ×
ドキュメント追加 ×
ドキュメント変更 ×



新規でキーを作成する場合
追加は、client.addもしくはclient.setを使い、キーや値を指定して実行します。
---
require 'rubygems'
require 'couchbase' 
client = Couchbase.connect(:bucket => "バケット名",
                           :hostname => "サーバー名")
key = "キー名"
doc = {"サブキー" => "値","サブキー" => "値"} 
client.set(key,doc) 
client.disconnect
---
具体例
サーバー「abc01.com.local」の、バケット名「Yuru-chara」に、キー「kumamon」、JSONが「"No":001,"Prefecture":"Kumamoto Ken","Symbol":"Kuma"」を登録してみる。

kumareg.rb
---
require 'rubygems'
require 'couchbase' 
client = Couchbase.connect(:bucket => "Yuru-chara",
                           :hostname => "abc01.com.local")
key = "kumamon"
doc = {"No"=>001,"Prefecture"=>"Kumamoto Ken","Symbol"=>"Kuma"} 
client.set(key,doc) 
client.disconnect
---
実行する
ruby kumareg.rb

管理画面で確認してみる



ドキュメントを削除する場合
削除はキーを指定して、client.deleteで削除できます。
さっきのキー「kumamon」を削除してみましょう。

kumadel.rb
---
require 'rubygems'
require 'couchbase' 
client = Couchbase.connect(:bucket => "Yuru-chara",
                           :hostname => "abc01.com.local")
key = "kumamon" 
client.delete(key) 
client.disconnect
---

管理画面で確認してみる
※Item Countが「0」になっています