2011年4月22日金曜日

gmongoでデータベースをコピーする

gmongoでデータベースをコピーするには、以下のコードのようにcopydbコマンドを使用します。

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

mongo = new GMongo("192.168.1.25", 27017)
admindb = mongo.getDB("admin")
db = mongo.getDB("local")
// コレクションの名前を列挙
for( col in db.getCollectionNames() ){
println col
}
// データベースをコピー
admindb.command([copydb:1, fromhost:"192.168.1.25",
fromdb:"local", todb:"local2"]).each { key, value ->
println key + "=" + value
}
db2 = mongo.getDB("local2")
// コレクションの名前を列挙
for( col in db2.getCollectionNames() ){
println col
}


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

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

0 件のコメント:

コメントを投稿