2011年9月5日月曜日

gmongoでsnapshotを使用して全件検索する

gmongoでsnapshotを使用して全件検索するには、以下のコードのように実装します。snapshotにより同一オブジェクトの重複を排除して検索します。
@Grab(group='com.gmongo', module='gmongo', version='0.8')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("localhost", 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().snapshot()){
  println obj
}

動作環境
Groovy 1.8.0, JDK6 Update22, gmongo 0.8, MongoDB 1.8.2

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo

groovyとMongoDBのまとめ

0 件のコメント:

コメントを投稿