@Grab(group='com.gmongo', module='gmongo', version='0.8') @Grab(group='rome', module='rome', version='1.0') import com.mongodb.* import com.gmongo.* import com.sun.syndication.feed.synd.* import com.sun.syndication.io.* uri = "http://feeds.dzone.com/dzone/frontpage?format=xml" SyndFeed feed = new SyndFeedInput(false).build( new InputStreamReader(new URL(uri).openStream(), "UTF-8") ) mongo = new GMongo("localhost", 27017) db = mongo.getDB("local") col = db["entries"] // ユニークインデックスなければ作成する col.ensureIndex( new BasicDBObject([feedTitle:true, link:true]), new BasicDBObject([unique:true]) ) col.setWriteConcern(WriteConcern.NORMAL); // RSS/Atomのエントリーをコレクションに追加 for( entry in feed.entries ){ wr = col.insert([feedTitle:feed.title, link:entry.link, publishedDate:entry.publishedDate, title:entry.title]) println "error:" + wr.getError() }
動作環境
Groovy 1.8.0, JDK6 Update22, gmongo 0.8, MongoDB 1.8.2
関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ
0 件のコメント:
コメントを投稿