Scala で MongoDB を使ってみた。
MongoDB とは
おググりくださいませ。
install
ubuntu なのでここから
Install MongoDB — MongoDB Manual
/etc/apt/sources.list.d に以下の内容のファイルを mongo.list とでもして追加。
deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen
その後
$ apt-get update $ apt-get install mongodb-stable
で終了。簡単。
Scala で使う
Casbah というライブラリを使ってみた。
GitHub - novus/casbah: Officially supported Scala Driver for MongoDB
Tutorial のページから Scala 2.8 用の jar にリンクがあったのでそれを使う。
http://novus.github.com/docs/casbah/sphinx/html/intro/getting_started.html
こいつは mongo-java-driver に対する wrapper らしいのでそれも必要。
Downloads · mongodb/mongo-java-driver · GitHub
mongodb-java-driver 2.1 を使ったらだめだった。 2.0 なら大丈夫っぽい。
とりあえずライブラリ群は scala-2.8.0.final/lib に突っ込んでおいた。
必要なもの達
- scalaj-collection http://www.scala-tools.org/repo-releases/org/scalaj/scalaj-collection_2.8.0/1.0/
- configgy http://www.lag.net/configgy/
configgy はこっち? GitHub - ijuma/configgy at scala-2.8
RC3 とかなっているけどとりあえず使えた。
試してみる
import com.novus.casbah.mongodb val con = mongodb.MongoConnection() // localhost に接続 val db = con("test") val col = db("items") val item = mongodb.MongoDBObject("name"->"testtest", "age"->23) col += item println(col.find().toList) //=> List({ "_id" : { "$oid" : "4c96e766aaed917f82fdb74c"} , "name" : "testtest" , "age" : 23})
できた!
検索は後ほど。