2011年3月31日木曜日

gmongoで属性の有無を条件としてオブジェクトを検索する

gmongoで属性の有無を条件としてオブジェクトを検索するには、以下のコードのようにfindを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["office_location"].drop()
// コレクションにオブジェクトを挿入する
col = db["office_location"]
col.insert([office:"Tokyo", country:"Japan", sales:100])
col.insert([office:"Sanfrancisco", country:"United States", sales:200])
col.insert([office:"Chicago", country:"United States", sales:300])
col.insert([office:"Sydney", country:"Australia",status:"underConstruction"])
// sales属性を持たないオフィスを検索
for(obj in col.find([sales:['$exists':false]])){
println obj
}
println "----"
// JavaScript Expressionでsales属性を持たないオフィスを検索
for(obj in col.find([$where:"'sales' in this == false"])){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月30日水曜日

groovyとJRedisでリストの最後の要素を取得して削除する

groovyとJRedisでリストの最後の要素を取得して削除するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
// リストの最後の要素を取得して削除する
println "pop:" + DefaultCodec.toStr(jrc.rpop("key1"))
for(elem in jrc.lrange("key1", 0, 100)){
println "value:" + DefaultCodec.toStr(elem)
}
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月29日火曜日

gmongoでin条件を使用してオブジェクトを検索する

gmongoでin条件を使用してオブジェクトを検索するには、以下のコードのようにfindを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["office_location"].drop()
// コレクションにオブジェクトを挿入する
col = db["office_location"]
col.insert([office:"Tokyo", country:"Japan", sales:100])
col.insert([office:"Sanfrancisco", country:"United States", sales:200])
col.insert([office:"Chicago", country:"United States", sales:300])
// TokyoとSanfranciscoのオフィスを検索
for(obj in col.find([office:['$in':["Tokyo", "Sanfrancisco"]]])){
println obj
}
println "----"
// JavaScript ExpressionでTokyoとSanfranciscoのオフィスを検索
for(obj in col.find([$where:"this.office in {'Tokyo':1, 'Sanfrancisco':1}"])){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月28日月曜日

groovyとJRedisでセットに値を追加する

groovyとJRedisでセットに値を追加するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
// セットに値を追加
jrc.sadd("key1", "value1")
jrc.sadd("key1", "value1")
jrc.sadd("key1", "value2")
jrc.sadd("key1", "value3")
for(elem in jrc.smembers("key1")){
println "value:" + DefaultCodec.toStr(elem)
}

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月27日日曜日

gmongoで~以上という条件を使用してオブジェクトを検索する

gmongoで~以上という条件を使用してオブジェクトを検索するには、以下のコードのようにfindを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["office_location"].drop()
// コレクションにオブジェクトを挿入する
col = db["office_location"]
col.insert([office:"Tokyo", country:"Japan", sales:100])
col.insert([office:"Sanfrancisco", country:"United States", sales:200])
col.insert([office:"Chicago", country:"United States", sales:300])
// 売上が200以上のオフィスを検索
for(obj in col.find([sales:['$gte':200]])){
println obj
}
println "----"
// JavaScript Expressionで売上が200以上のオフィスを検索
for(obj in col.find([$where:"this.sales >= 200"])){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月26日土曜日

groovyとJRedisでバックグラウンドでDBを保存する

groovyとJRedisでバックグラウンドでDBを保存するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
// バックグラウンドでDBを保存
jrc.bgsave()


※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月25日金曜日

gmongoで等号条件を使用してオブジェクトを検索する

gmongoで等号条件を使用してオブジェクトを検索するには、以下のコードのようにfindを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["office_location"].drop()
// コレクションにオブジェクトを挿入する
col = db["office_location"]
col.insert([office:"Tokyo", country:"Japan"])
col.insert([office:"Sanfrancisco", country:"United States"])
col.insert([office:"Chicago", country:"United States"])
// United Statesのオフィスを検索
for(obj in col.find([country:"United States"])){
println obj
}
println "----"
// JavaScript ExpressionでUnited Statesのオフィスを検索
for(obj in col.find([$where:"this.country == 'United States'"])){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月24日木曜日

groovyとJRedisでソースリストから最後の要素を削除して値を別のリストの最初に追加する

groovyとJRedisでソースリストから最後の要素を削除して値を別のリストの最初に追加するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
// ソースリストから最後の要素を取得・削除して値を
// 別のリストの最初に追加する
jrc.rpoplpush("key1", "key2")
for(elem in jrc.lrange("key1", 0, -1)){
println "value@key1:" + DefaultCodec.toStr(elem)
}
for(elem in jrc.lrange("key2", 0, -1)){
println "value@key2:" + DefaultCodec.toStr(elem)
}
jrc.del("key1")
jrc.del("key2")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月23日水曜日

gmongoでコレクションに最大オブジェクト数が指定されているか確認する

gmongoでコレクションに最大オブジェクト数が指定されているか確認するには、以下のコードのようにisCappedを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["capped_collection"].drop()
// 最大オブジェクト数が指定されたコレクションを作成する
db.createCollection("capped_collection",
(DBObject)new BasicDBObject(["max":2, "capped":true]))
// 最大オブジェクト数が指定されているか確認する
// (存在しないコレクションの場合はfalseが返る)
if( db["capped_collection"].isCapped() ){
println "capped."
} else {
println "not capped."
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月22日火曜日

groovyとJRedisでリストから指定のインデックスの要素を取得する

groovyとJRedisでリストから指定のインデックスの要素を取得するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
// リストから指定のインデックスの要素を取得する
println "lindex:" + DefaultCodec.toStr(jrc.lindex("key1", 1))
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月21日月曜日

gmongoで最大オブジェクト数が指定されたコレクションを作成する

gmongoで最大オブジェクト数が指定されたコレクションを作成するには、以下のコードのようにcappedとmaxを指定してcreateCollectionを実行します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["capped_collection"].drop()
// 最大オブジェクト数が指定されたコレクションを作成する
db.createCollection("capped_collection",
(DBObject)new BasicDBObject(["max":2, "capped":true]))
// オブジェクトを挿入
col = db["capped_collection"]
col.insert([office:"Tokyo", country:"Japan"])
col.insert([office:"Sanfrancisco", country:"United States"])
// 最大オブジェクト数を超えると古いオブジェクトがなくなる
col.insert([office:"Chicago", country:"United States"])
for(obj in col.find()){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月20日日曜日

groovyとJRedisでセットに値が含まれるか確認する

groovyとJRedisでセットに値が含まれるか確認するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.sadd("key1", "value1")
jrc.sadd("key1", "value2")
jrc.sadd("key1", "value3")
// セットに値が含まれるか確認
if( jrc.sismember("value2") ){
println "value2 is a member."
}
if( !jrc.sismember("value0") ){
println "value0 is not a member."
}


※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月19日土曜日

gmongoでオブジェクトの挿入と全件検索を行う

gmongoでオブジェクトの挿入と全件検索を行うには、以下のコードのようにinsertとfindを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["office_location"].drop()
// コレクションにオブジェクトを挿入する
col = db["office_location"]
col.insert([office:"Tokyo", country:"Japan"])
col.insert([office:"Sanfrancisco", country:"United States"])
col.insert([office:"Chicago", country:"United States"])
// コレクションのオブジェクトを全件表示する
for(obj in col.find()){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月18日金曜日

groovyとJRedisでリストの最初の要素を取得して削除する

groovyとJRedisでリストの最初の要素を取得して削除するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
// リストの最初の要素を取得して削除する
println "pop:" + DefaultCodec.toStr(jrc.lpop("key1"))
for(elem in jrc.lrange("key1", 0, 100)){
println "value:" + DefaultCodec.toStr(elem)
}
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月17日木曜日

gmongoでコレクションを削除する

gmongoでコレクションを削除するには、以下のコードのようにdropを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
// コレクションを削除する(存在しなくてもエラーにならない)
db["office_location"].drop()

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月16日水曜日

groovyとJRedisでリストの指定した要素を削除する

groovyとJRedisでリストの指定した要素を削除するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
// 指定した要素を削除する
jrc.lrem("key1", "value2", 0)
for(elem in jrc.lrange("key1", 0, 100)){
println "value:" + DefaultCodec.toStr(elem)
}
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月15日火曜日

gmongoでJavaScriptを評価する

gmongoでJavaScriptを評価するには、以下のコードのようにevalを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
// JavaScriptを評価する
println db.eval("function(x){ return parseInt(x)*parseInt(x); }", [4])

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月14日月曜日

groovyとJRedisでリストの指定した範囲の要素のみを残す

groovyとJRedisでリストの指定した範囲の要素のみを残すには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
jrc.rpush("key1", "value4")
jrc.rpush("key1", "value5")
// 指定した範囲の要素のみを残す(value2 - value4)
jrc.ltrim("key1", 1, 3)
for(elem in jrc.lrange("key1", 0, 100)){
println "value:" + DefaultCodec.toStr(elem)
}
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月13日日曜日

gmongoでコレクションが存在するか確認する

gmongoでコレクションが存在するか確認するには、以下のコードのようにcollectionExistsを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
// コレクションが存在するか確認する
if( db.collectionExists("system.indexes") ){
println "exists."
} else {
println "not exist."
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

2011年3月12日土曜日

groovyとJRedisでリストのインデックスを指定して値を設定する

groovyとJRedisでリストのインデックスを指定して値を設定するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.rpush("key1", "value1")
jrc.rpush("key1", "value2")
jrc.rpush("key1", "value3")
// インデックスを指定して値を設定
jrc.lset("key1", 1, "modified_value2")
for(elem in jrc.lrange("key1", 0, 100)){
println "value:" + DefaultCodec.toStr(elem)
}
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月11日金曜日

groovyとApache Derbyでデータベースをバックアップする

groovyとApache Derbyでデータベースをバックアップするには、以下のコードを実行します。

import groovy.sql.Sql
import java.sql.*

sql = Sql.newInstance(
"jdbc:derby:test1db",
"org.apache.derby.jdbc.EmbeddedDriver")

// データベースをバックアップする
query = """
call syscs_util.syscs_backup_database(
'c:\\share\\derby_backup')
"""
sql.execute(query)

// シャットダウン
try
{
Sql.newInstance(
"jdbc:derby:;shutdown=true",
"org.apache.derby.jdbc.EmbeddedDriver")
}
catch(SQLException sqlex)
{
if( sqlex.getSQLState().equals("XJ015") ){
println("shutdown normally.")
}
}


動作環境
groovy 1.7.6, JDK6 Update23, Apache Derby 10.7.1.1

2011年3月10日木曜日

groovyとJRedisでリストの要素数を取得する

groovyとJRedisでリストの要素数を取得するには、以下のコードを実行します。

import org.jredis.ri.alphazero.*
import org.jredis.ri.alphazero.support.*

jrc = new JRedisClient("192.168.1.25", 6379)
jrc.lpush("key1", "value1")
jrc.lpush("key1", "value2")
jrc.lpush("key1", "value3")
// リストの要素数を取得
println jrc.llen("key1")
jrc.del("key1")

※jredis-core-all-a.0-SNAPSHOT-jar-with-dependencies.jarを
$GROOVY_HOME/libにコピーしておく。

動作環境
groovy 1.7.6, JDK6 Update23, JRedis2.0.0

2011年3月9日水曜日

gmongoでデータベースのコレクションを列挙する

gmongoでデータベースのコレクションを列挙するには、以下のコードのようにgetCollectionNamesを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
// localデータベースのコレクションを列挙する
db = mongo.getDB("local")
for(col in db.getCollectionNames()){
println col
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

groovyとApache Derbyでクエリーの結果をエクスポートする

groovyとApache Derbyでクエリーの結果をエクスポートするには、以下のコードを実行します。

import groovy.sql.Sql
import java.sql.*

sql = Sql.newInstance(
"jdbc:derby:test1db",
"org.apache.derby.jdbc.EmbeddedDriver")

// 指定したクエリ結果をエクスポートする
query = """
call syscs_util.syscs_export_query(
'select * from employee where employee_id = 5',
'employee_no5.dat',
null, null, 'UTF-8')
"""
sql.execute(query)

// シャットダウン
try
{
Sql.newInstance(
"jdbc:derby:;shutdown=true",
"org.apache.derby.jdbc.EmbeddedDriver")
}
catch(SQLException sqlex)
{
if( sqlex.getSQLState().equals("XJ015") ){
println("shutdown normally.")
}
}


動作環境
groovy 1.7.6, JDK6 Update23, Apache Derby 10.7.1.1