Couchbase Client Library Rubyを使ってドキュメントの追加と削除をやってみましょう!
このライブラリのメリットは以下の通りです。
・インストールは簡単
・サーバーとバケットを指定するだけでCouchbaseにアクセス可能
・「Client.なにがし」で、データの追加や削除が可能
さっそく使ってみますよ!
詳しいマニュアル
http://www.couchbase.com/jp/develop/ruby/current
Documentを追加・更新するときのコマンドと挙動について
新規追加は2種類、変更用に1種類ありますが、「client.set」はキーが既になければ追加、あれば更新(上書き)するのでとても便利ですが、キーがないときはエラー処理に回したいなどの要望があれば、きちんと使い分けましょう。
新規でキーを作成する場合
追加は、client.addもしくはclient.setを使い、キーや値を指定して実行します。
サーバー「abc01.com.local」の、バケット名「Yuru-chara」に、キー「kumamon」、JSONが「"No":001,"Prefecture":"Kumamoto Ken","Symbol":"Kuma"」を登録してみる。
kumareg.rb
管理画面で確認してみる
ドキュメントを削除する場合
削除はキーを指定して、client.deleteで削除できます。
さっきのキー「kumamon」を削除してみましょう。
kumadel.rb
管理画面で確認してみる
※Item Countが「0」になっています
このライブラリのメリットは以下の通りです。
・インストールは簡単
・サーバーとバケットを指定するだけで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」になっています