2012年2月5日日曜日

groovyでmongodbのREST interfaceを使用してコレクション内のオブジェクトを取得する

groovyでmongodbのREST interfaceを使用してコレクション内のオブジェクトを取得するには、以下のコードを実行します。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import groovy.json.*

httpclient = new DefaultHttpClient()
// REST interfaceからコレクション内のオブジェクトを取得する
dbname = "local"
collection = "entries"
skip=0
limit=-10
method = new HttpGet("http://localhost:28017/${dbname}/" +
  "${collection}/?skip=${skip}&limit=${limit}")
response = httpclient.execute(method)

json = new JsonSlurper().parseText(response.getEntity().getContent().text)
println "total rows:${json.total_rows}"
json.rows.each {
  println it
}

REST interfaceを使用するにはmongodb.confにrest = trueを追加する

動作環境
Groovy 1.8.2, JDK6 Update23, MongoDB 2.0.2

関連情報

groovyとMongoDBのまとめ

0 件のコメント:

コメントを投稿